*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%}body{color:#1f2937;background:linear-gradient(135deg,#f3f4f6,#e2e8f0);margin:0;font-family:Arial,sans-serif}button,input,a{font:inherit}.app-shell{justify-content:center;align-items:flex-start;min-height:100vh;padding:24px;display:flex}.page-container{width:min(100%,1040px)}.app-header{color:#f8fafc;background:#0f172af5;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;display:flex;box-shadow:0 16px 30px #0f172a29}.brand-block{color:#f8fafc;align-items:center;gap:12px;min-width:170px;text-decoration:none;display:flex}.brand-block:hover{opacity:.9}.brand-mark{object-fit:contain;width:38px;height:38px}.brand-text{letter-spacing:.02em;font-size:1.05rem;font-weight:700}.top-nav{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.nav-link{color:#dbeafe;border-radius:8px;justify-content:center;align-items:center;padding:10px 14px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.nav-link:hover{background:#94a3b82e}.nav-link.active{color:#fff;background:#2563eb}.nav-menu{position:relative}.nav-menu-button{cursor:pointer;background:0 0;border:none;gap:6px}.nav-menu-list{z-index:10;background:#0f172afa;border-radius:10px;min-width:160px;margin:0;padding:6px;list-style:none;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 24px #0f172a3d}.nav-menu-item{color:#dbeafe;white-space:nowrap;border-radius:6px;padding:9px 12px;font-weight:600;text-decoration:none;display:block}.nav-menu-item:hover{background:#94a3b82e}.nav-menu-item.active{color:#fff;background:#2563eb}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:260px;display:flex}.page-content{width:100%}.card{background:#fff;border-radius:16px;width:min(100%,640px);padding:24px;box-shadow:0 10px 30px #0f172a1f}.page-panel{width:min(100%,760px)}.page-panel h1{margin-top:0;margin-bottom:12px}.page-panel p,.page-panel li{line-height:1.6}.auth-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:16px 18px}.auth-panel--signed-in{gap:8px;display:grid}.auth-panel--signed-in h3{margin:0 0 8px;font-size:1.2rem}.auth-panel--signed-out{flex-wrap:wrap;gap:12px;display:flex}.login-link,.logout-link{border-radius:8px;padding:10px 14px;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-block}.login-link{color:#fff;background:#2563eb}.logout-link{color:#111827;background:#e5e7eb;margin-top:12px}.login-link:hover,.logout-link:hover{opacity:.9}.message-form{gap:12px;display:grid}.message-form label{font-weight:600}.message-form__controls{gap:12px;display:flex}.message-form input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex:1;padding:10px 12px}.message-form button{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:8px;padding:10px 16px;font-weight:600}.notes-section{gap:10px;display:grid}.notes-section h3{margin:0}.notes-actions{justify-content:flex-start;display:flex}.notes-actions--right{justify-content:flex-end}.small-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;min-width:90px;padding:8px 14px;font-weight:600}.notes-textarea{resize:vertical;width:100%;min-height:120px;font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:12px}.message-output{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;min-height:24px;padding:12px}.resource-panel{gap:10px;margin-top:24px;display:grid}.resource-panel h3{margin:0}.resource-panel label{align-items:center;gap:8px;font-weight:600;display:flex}.resource-panel input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px}.resource-panel .notes-actions{gap:10px}.button-row{flex-wrap:wrap;gap:10px;display:flex}.small-button:disabled{color:#64748b;cursor:not-allowed;background:#cbd5e1}.swa-auth-user{margin:16px 0;font-weight:600}.swa-auth-me{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:0;padding:12px;font-size:.85rem;overflow-x:auto}.page-section{margin-top:32px}.entra-account-name{font-weight:600}.page-section h2{margin:0 0 12px}.notes-textarea--compact{min-height:0}.status-text{color:#475569;align-self:center;font-size:.9rem}.message-output--error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.resource-panel__fields{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.resource-panel__id{width:8rem}.resource-panel__content{width:18rem;max-width:100%}
