:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;--bg: #f4f6f8;--panel: #ffffff;--panel-soft: #f8fafc;--line: #d9e1ea;--line-strong: #b9c4d0;--text: #1d2433;--muted: #647184;--blue: #2563eb;--blue-dark: #1d4ed8;--green: #059669;--green-soft: #dcfce7;--amber: #d97706;--amber-soft: #fef3c7;--red: #dc2626;--red-soft: #fee2e2;--teal: #0f766e;--shadow: 0 14px 34px rgb(27 38 59 / 10%);--radius: 8px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{border:0}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;font-size:clamp(1.75rem,4vw,2rem);line-height:1.1}h2{margin:0;font-size:1.35rem;line-height:1.2}h3{margin:0;font-size:1.05rem;line-height:1.25}p{line-height:1.55}small{color:var(--muted)}code{padding:.12rem .3rem;border-radius:4px;background:var(--panel-soft)}:focus-visible{outline:3px solid rgb(37 99 235 / 35%);outline-offset:2px}.skip-link{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-140%);padding:10px 14px;border-radius:var(--radius);background:var(--text);color:#fff}.skip-link:focus{transform:translateY(0)}.center-screen,.login-screen{display:grid;min-height:100dvh;place-items:center;padding:24px;background:linear-gradient(135deg,#2563eb14,#0f766e14),var(--bg)}.app-shell{width:min(1480px,calc(100% - 32px));margin:0 auto;padding:24px 0 48px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 4px 18px #1b263b0d}.login-panel{width:min(520px,100%);padding:clamp(20px,4vw,30px);box-shadow:var(--shadow)}.login-panel>.muted{margin-bottom:22px}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.muted,.section-note{color:var(--muted)}.section-note{max-width:850px;margin:8px 0 18px}.form-stack{display:grid;gap:15px}.form-stack label{display:grid;gap:6px;font-size:.9rem;font-weight:750}.form-stack input{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;color:var(--text)}.form-stack input:focus{border-color:var(--blue)}.editor-panel{margin-bottom:16px;padding:16px}details.editor-panel>summary,.compact-editor>summary{cursor:pointer;font-weight:800}details.editor-panel[open]>summary{margin-bottom:14px}.data-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.data-form>h3{grid-column:1 / -1}.data-form label{display:grid;align-content:start;gap:6px;color:var(--muted);font-size:.8rem;font-weight:800}.data-form input,.data-form select,.data-form textarea{width:100%;min-height:42px;padding:9px 10px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;color:var(--text)}.data-form textarea{min-height:92px;resize:vertical}.data-form input:focus,.data-form select:focus,.data-form textarea:focus{border-color:var(--blue)}.wide-field{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end}.compact-editor{margin-top:8px;text-align:left}.compact-editor[open]{min-width:min(620px,72vw)}.compact-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.demo-box{margin-top:20px;padding:14px;border:1px solid #bcd0f7;border-radius:var(--radius);background:#eff6ff}.demo-box p{margin:4px 0 12px;font-size:.87rem}.demo-actions{display:flex;flex-wrap:wrap;gap:8px}.primary-button,.ghost-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:0 14px;border-radius:var(--radius);cursor:pointer;font-weight:750;transition:background .16s ease,border-color .16s ease}.primary-button{background:var(--blue);color:#fff}.primary-button:hover:not(:disabled){background:var(--blue-dark)}.ghost-button{border:1px solid var(--line);background:#fff;color:var(--text)}.ghost-button:hover:not(:disabled){border-color:var(--line-strong);background:var(--panel-soft)}button:disabled{cursor:wait;opacity:.6}.topbar,.section-heading,.topbar-actions,.booking-header,.tag-row,.proposal-actions{display:flex;align-items:center}.topbar{justify-content:space-between;gap:20px;margin-bottom:18px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.user-badge,.environment-badge,.count-badge,.category,.source,.status-pill,.priority{display:inline-flex;min-height:28px;align-items:center;padding:0 9px;border-radius:999px;font-size:.76rem;font-weight:800}.user-badge,.count-badge{border:1px solid var(--line);background:var(--panel-soft)}.environment-badge{background:var(--amber-soft);color:#8b4c02}.view-tabs{display:flex;gap:4px;margin-bottom:18px;overflow-x:auto;padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);scrollbar-width:thin}.view-tab{min-height:36px;flex:0 0 auto;padding:0 12px;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-weight:800}.view-tab:hover{background:var(--panel-soft);color:var(--text)}.view-tab.active{background:var(--blue);color:#fff}.status-region:empty{display:none}.alert{margin:0 0 14px;padding:11px 13px;border:1px solid;border-radius:var(--radius);line-height:1.4}.alert.error{border-color:#fecaca;background:var(--red-soft);color:#991b1b}.alert.success{border-color:#a7f3d0;background:var(--green-soft);color:#065f46}.section-heading{justify-content:space-between;gap:18px;margin-bottom:16px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric{display:grid;min-height:92px;align-content:center;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.metric span{color:var(--muted);font-size:.8rem;font-weight:750}.metric strong{margin-top:3px;font-size:1.65rem}.metric.warning{border-color:#fbd38d;background:#fffbeb}.content-grid,.knowledge-grid,.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.content-grid>.panel,.knowledge-grid>.panel,.admin-grid>.panel{padding:18px}.content-grid h3{margin-bottom:10px}.compact-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line)}.compact-row:first-of-type{border-top:0}.compact-row div{display:grid;gap:3px}.compact-row span,.compact-row time{color:var(--muted);font-size:.8rem}.card-list{display:grid;gap:12px}.booking-card{padding:18px}.booking-header{justify-content:space-between;gap:14px}.booking-header p{margin:5px 0 0;color:var(--muted)}.date-range{display:flex;gap:clamp(28px,8vw,100px);margin:16px 0 13px}.date-range span{display:grid;gap:3px}.date-range small{font-size:.72rem;text-transform:uppercase}.progress-track{width:100%;height:7px;overflow:hidden;border:0;border-radius:99px;appearance:none;background:#e9eef5}.progress-track::-webkit-progress-bar{border-radius:99px;background:#e9eef5}.progress-track::-webkit-progress-value{border-radius:99px;background:var(--green)}.progress-track::-moz-progress-bar{border-radius:99px;background:var(--green)}.phase-list{display:grid;gap:8px;margin:15px 0 0;padding:0;list-style:none}.phase-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.phase-button{min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);cursor:pointer;font-size:.76rem;font-weight:800}.phase-button:hover:not(:disabled){background:var(--panel-soft)}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--line-strong)}.status-dot.in_corso{background:var(--amber)}.status-dot.completata{background:var(--green)}.task-card,.proposal-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:18px}.task-main p,.proposal-card p{margin:7px 0;color:var(--muted)}.tag-row{flex-wrap:wrap;gap:6px;margin-bottom:8px}.priority{color:#fff;text-transform:capitalize}.priority.alta{background:var(--red)}.priority.media{background:var(--amber)}.priority.bassa{background:var(--teal)}.category{background:#edf2f7;color:#465468}.source{background:#ede9fe;color:#5b21b6;text-transform:capitalize}.task-side{display:grid;min-width:170px;align-content:start;gap:8px;text-align:right}.task-side strong{margin-bottom:4px;font-size:.82rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}th{background:var(--panel-soft);color:var(--muted);font-size:.74rem;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}.number{text-align:right;font-variant-numeric:tabular-nums}.positive{color:var(--green);font-weight:800}.negative{color:var(--red);font-weight:800}.knowledge-grid>.panel h3,.admin-grid>.panel h3{margin:11px 0 7px}.knowledge-grid>.panel p,.admin-grid>.panel p{color:var(--muted)}.proposal-actions{align-self:center;gap:8px}.status-pill.approvata{background:var(--green-soft);color:#065f46}.status-pill.rifiutata{background:var(--red-soft);color:#991b1b}.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}dl{margin:14px 0 0}dl>div{display:grid;gap:3px;padding:10px 0;border-top:1px solid var(--line)}dt{color:var(--muted);font-size:.75rem;font-weight:750;text-transform:uppercase}dd{margin:0;overflow-wrap:anywhere}.check-list{display:grid;gap:8px;margin:12px 0 0;padding-left:20px}.empty-state{margin:0;padding:30px;border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);text-align:center}@media(max-width:1000px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}}@media(max-width:700px){.app-shell{width:min(100% - 20px,1480px);padding-top:14px}.topbar,.section-heading,.booking-header{align-items:stretch;flex-direction:column}.topbar-actions{justify-content:flex-start}.content-grid,.knowledge-grid,.metrics-grid,.data-form,.compact-form{grid-template-columns:1fr}.wide-field{grid-column:auto}.compact-editor[open]{min-width:0}.task-card,.proposal-card{grid-template-columns:1fr}.task-side{min-width:0;text-align:left}.proposal-actions{align-self:stretch}.proposal-actions button{flex:1}.date-range{justify-content:space-between;gap:12px}.phase-list li{grid-template-columns:auto 1fr}.phase-list small{grid-column:2}.demo-actions{display:grid}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
