.app-shell{--sidebar-width: 280px;display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;background:var(--surface-primary)}@media (min-width: 960px){.app-shell{grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:auto 1fr}.app-shell.sidebar-collapsed{--sidebar-width: 72px}.app-shell .sidebar{grid-row:1 / span 2;grid-column:1}.app-shell .content{grid-column:2;grid-row:2}.app-shell .topbar{grid-column:2;grid-row:1}.app-shell .bottom-nav{display:none}}.topbar{position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f8fbb3;border-bottom:1px solid var(--border-color);padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between}@media (max-width: 768px){.topbar{flex-direction:column;align-items:flex-start;gap:.9rem}}.topbar .title{display:flex;flex-direction:column;gap:.25rem}.topbar h1{margin:0;font-size:1.1rem;font-weight:600;color:var(--brand-primary)}.topbar span{font-size:.85rem;color:var(--text-muted)}.quick-actions-trigger{border:none;background:var(--surface-muted);color:var(--brand-primary);font-weight:600;padding:.55rem .95rem;border-radius:999px;cursor:pointer;transition:background .2s ease,transform .2s ease}.quick-actions-trigger:hover:not(:disabled){background:var(--surface);transform:translateY(-1px)}.quick-actions-trigger:active:not(:disabled){transform:translateY(0)}.quick-actions-trigger:disabled{opacity:.6;cursor:not-allowed}.quick-actions-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b162459;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60}.quick-actions{position:fixed;top:96px;right:clamp(1rem,5vw,3rem);width:min(360px,calc(100% - 2rem));background:var(--surface-elevated);border-radius:20px;box-shadow:var(--shadow-soft);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;z-index:65}.quick-actions__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.quick-actions__header h3{margin:0;font-size:1rem;color:var(--brand-primary)}.quick-actions__header p{margin:.15rem 0 0;color:var(--text-muted);font-size:.85rem}.quick-actions__close{border:none;background:transparent;color:var(--text-muted);border-radius:12px;padding:.25rem;cursor:pointer;transition:color .2s ease,background .2s ease}.quick-actions__close:hover{background:var(--surface-muted);color:var(--brand-primary)}.quick-actions__list{display:flex;flex-direction:column;gap:.65rem}.quick-actions__item{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:16px;padding:.75rem;display:flex;align-items:center;gap:.75rem;text-align:left;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.quick-actions__item:hover{border-color:#0064b359;box-shadow:var(--shadow-soft);transform:translateY(-1px)}.quick-actions__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#0064b314;color:var(--brand-primary)}.quick-actions__icon svg{width:22px;height:22px}.quick-actions__copy{display:flex;flex-direction:column;gap:.2rem;font-size:.9rem;color:var(--text-secondary)}.quick-actions__copy strong{font-size:.95rem;color:var(--text-primary);font-weight:600}.quick-actions__copy span{font-size:.8rem;line-height:1.3}.calendar{border:1px solid var(--border-color);border-radius:20px;padding:1.5rem;background:linear-gradient(135deg,#003b700a,#00a6a60f);display:flex;flex-direction:column;gap:1.1rem}.calendar-header{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.calendar-header__controls{display:flex;align-items:center;gap:.8rem}.calendar-header__title h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary);text-transform:capitalize}.calendar-header__title p{margin:.2rem 0 0;color:var(--text-secondary);font-size:.85rem}.calendar-header__meta{display:flex;gap:1.25rem;flex-wrap:wrap;font-size:.85rem;color:var(--text-muted)}.calendar-header__meta strong{color:var(--text-primary)}.calendar-nav{width:38px;height:38px;border-radius:12px;border:1px solid var(--border-color);background:var(--surface-primary);color:var(--brand-primary);display:grid;place-items:center;font-size:1.25rem;cursor:pointer;transition:background .2s ease,transform .2s ease,border-color .2s ease}.calendar-nav:hover{background:#003b7014;border-color:#003b702e;transform:translateY(-1px)}.calendar-nav:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.calendar-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.65rem}.calendar-summary__item{background:var(--surface-primary);border:1px solid rgba(0,59,112,.1);border-radius:14px;padding:.75rem .9rem;display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--text-secondary)}.calendar-summary__item strong{font-size:1.05rem;color:var(--text-primary);font-weight:600}.calendar-summary__item--total{border-color:#003b702e;background:#003b700f}.calendar-summary__item--scheduled{border-color:#003b702e;background:#003b7014}.calendar-summary__item--progress{border-color:#f7b50052;background:#ffcd622e}.calendar-summary__item--completed{border-color:#00a6a63d;background:#00a6a624}.calendar-summary__item--selected{border-color:#5669ff38;background:#5669ff1f}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.08em}.calendar-grid{display:flex;flex-direction:column;gap:.35rem}.calendar-day{position:relative;border:1px solid transparent;border-radius:14px;background:var(--surface-primary);min-height:68px;display:flex;align-items:flex-start;justify-content:space-between;padding:.6rem .7rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;color:var(--text-primary);text-align:left}.calendar-day:hover{border-color:#003b7040;box-shadow:var(--shadow-soft);transform:translateY(-1px)}.calendar-day:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.calendar-day--muted{color:var(--text-muted);background:#ffffff80}.calendar-day--weekend{background:#003b700a}.calendar-day--today{border-color:#003b7059;box-shadow:inset 0 0 0 1px #003b7026}.calendar-day--selected{background:linear-gradient(135deg,#003b7033,#00a6a62e);border-color:#003b7066;color:var(--surface-primary)}.calendar-day--selected .calendar-day__badge{background:#fffffff2;color:var(--brand-primary)}.calendar-day--has-shifts{border-color:#003b7029}.calendar-day__date{font-weight:600;font-size:1rem}.calendar-day__badge{min-width:22px;height:22px;border-radius:999px;font-size:.75rem;font-weight:600;display:grid;place-items:center;background:#003b701f;color:var(--brand-primary)}.calendar-day--muted .calendar-day__badge{background:#003b700f}.calendar-day--weekend .calendar-day__badge{background:#5669ff1f;color:#5669ff}.calendar-day--selected .calendar-day__date{color:var(--surface-primary)}.calendar-day--selected .calendar-day__badge{color:var(--brand-primary)}.calendar-day--today.calendar-day--selected{box-shadow:inset 0 0 0 2px #ffffff59}@media (max-width: 768px){.calendar{padding:1.1rem}.calendar-header__meta{gap:.75rem}.calendar-summary__item{min-height:74px}}.sidebar{display:none;background:linear-gradient(180deg,#fffffffa,#f7fbfff2);box-shadow:var(--shadow-soft);padding:1.25rem 1.1rem 1rem;overflow:visible}@media (min-width: 960px){.sidebar{display:flex;flex-direction:column;gap:.9rem;width:var(--sidebar-width)}}.sidebar .brand{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.sidebar .brand img{flex-shrink:0}.brand-copy{display:flex;flex:1;flex-direction:column;gap:.08rem;min-width:0}.brand-copy span{color:var(--text-primary);font-size:1.05rem;font-weight:700;letter-spacing:.04em;line-height:1.1;text-transform:uppercase}.brand-copy small{color:var(--text-muted);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{display:flex;flex:1;flex-direction:column;gap:.85rem;min-height:0}.sidebar-section{display:flex;flex-direction:column;gap:.45rem}.sidebar-section__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;border:0;background:transparent;cursor:pointer;color:var(--text-muted);font-size:.74rem;font-weight:700;letter-spacing:.1em;padding:.15rem .5rem 0;text-transform:uppercase;text-align:left;transition:color .2s ease,transform .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sidebar-section__header:hover{color:var(--brand-primary)}.sidebar-section__header svg{width:16px;height:16px;color:var(--text-muted);transition:transform .2s ease,color .2s ease}.sidebar-section__header:hover svg{color:var(--brand-primary)}.sidebar-section--collapsed .sidebar-section__header svg{transform:rotate(180deg)}.sidebar-section__items{display:flex;flex-direction:column;gap:.28rem}.nav-link{position:relative;display:flex;align-items:center;gap:.8rem;padding:.78rem .9rem;border-radius:14px;color:var(--text-secondary);border:1px solid transparent;overflow:hidden;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.nav-link:before{content:"";position:absolute;top:0;bottom:0;left:0;width:3px;background:transparent;transition:background .2s ease}.nav-link:hover{background:#003b700d;border-color:#003b7014;color:var(--brand-primary);transform:translate(3px)}.nav-link:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px;background:#003b7014;color:var(--brand-primary)}.nav-link.active{background:linear-gradient(90deg,#003b701f,#003b700a);border-color:#003b701a;color:var(--brand-primary);font-weight:600;box-shadow:inset 3px 0 0 var(--brand-primary)}.nav-link.active:before{background:var(--brand-primary)}.nav-link svg{width:20px;height:20px;flex-shrink:0}.nav-link span{min-width:0}.sidebar-account{display:flex;flex-direction:column;gap:.55rem;padding-top:.35rem;border-top:1px solid var(--border-color)}.sidebar-account .sidebar-section__header{margin-top:-.1rem}.sidebar-account__card{display:flex;align-items:center;gap:.85rem;padding:.85rem .9rem;border-radius:18px;background:linear-gradient(135deg,#003b7014,#00a6a617);border:1px solid rgba(0,59,112,.08)}.sidebar-account__avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));color:#fff;flex-shrink:0;font-size:.95rem;font-weight:700;letter-spacing:.04em}.sidebar-account__copy{display:flex;flex-direction:column;gap:.1rem;min-width:0}.sidebar-account__copy strong{color:var(--text-primary);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-account__copy span{color:var(--text-muted);font-size:.8rem}.sidebar-account__link{background:#ffffffc7}.content{padding:1.25rem;min-width:0}@media (max-width: 768px){.content{padding:1rem .85rem 1.5rem}}.content-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;min-width:0}@media (min-width: 1440px){.content-inner{max-width:1320px}}.bottom-nav{position:sticky;bottom:0;border-top:1px solid var(--border-color);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.bottom-nav a{padding:.65rem .5rem;font-size:.75rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;color:var(--text-muted)}.bottom-nav a.active{color:var(--brand-primary);font-weight:600}.bottom-nav svg{width:20px;height:20px}@media (max-width: 720px){.company-settings-logo{grid-template-columns:1fr;justify-items:center}.company-settings-logo>div:first-child{margin-bottom:.75rem}}.sidebar{position:relative;transition:width .3s ease}@media (min-width: 960px){.sidebar{transition:width .3s ease}}.sidebar.collapsed .nav-link{justify-content:center}.sidebar.collapsed .brand-copy,.sidebar.collapsed .sidebar-section__header,.sidebar.collapsed .sidebar-account{display:none}.sidebar-toggle{position:absolute;top:1.25rem;right:-18px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(0,59,112,.12);background:var(--surface-elevated);box-shadow:var(--shadow-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease;padding:0;color:var(--brand-primary);z-index:12}.sidebar-toggle:hover{background:var(--surface-muted)}.sidebar.collapsed .sidebar-toggle svg{transform:translate(2px)}.sidebar:not(.collapsed) .sidebar-toggle svg{transform:translate(-2px)}@media (max-width: 959px){.sidebar-toggle{display:none}}.sidebar.collapsed .brand{justify-content:center;padding-bottom:.75rem}.sidebar.collapsed .brand img{width:32px;height:32px}.sidebar.collapsed{padding:1.25rem .75rem 1rem;align-items:center}.sidebar.collapsed .sidebar-nav{gap:.5rem}.sidebar.collapsed .sidebar-section__items{gap:.35rem}.sidebar.collapsed .nav-link{padding-inline:0;width:100%}.sidebar.collapsed .nav-link span{display:none}.sidebar.collapsed .nav-link:before{display:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#091e4259;display:grid;place-items:center;z-index:999;padding:1.5rem}.modal-card{background:var(--surface-elevated);border-radius:16px;box-shadow:var(--shadow-soft);padding:1.75rem;max-width:420px;width:100%;display:flex;flex-direction:column;gap:1rem}.modal-card h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.modal-card p{margin:0;color:var(--text-secondary);line-height:1.4}.pill-button.danger{background:var(--danger);color:#fff}.pill-button.danger:hover{filter:brightness(.95)}.shift-card{background:linear-gradient(135deg,#003b7014,#00a6a61f);border-radius:16px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.4rem;box-shadow:var(--shadow-soft)}.shift-card__header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.shift-card__header strong{font-size:1rem;color:var(--text-primary)}.shift-card__meta{font-size:.85rem;color:var(--text-secondary)}.shift-card__time{font-size:.8rem;color:var(--text-muted)}.shift-card__description{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.shift-chip{font-size:.75rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;text-transform:uppercase}.shift-chip--programmato{background:#003b701f;color:var(--brand-primary)}.shift-chip--in-corso{background:#ffaa0026;color:#b26a00}.shift-chip--completato{background:#00a6a626;color:var(--brand-accent)}.projects-page{display:flex;flex-direction:column;gap:1.75rem}.projects-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;background:var(--surface-elevated);border-radius:22px;padding:1.5rem 1.75rem;box-shadow:var(--shadow-soft)}.projects-header h1{margin:0;font-size:1.5rem;color:var(--brand-primary)}.projects-header p{margin:.4rem 0 0;color:var(--text-muted);max-width:520px;line-height:1.45}.projects-header__actions{display:flex;flex-wrap:wrap;gap:.75rem}.projects-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:1rem;min-width:0}.projects-summary__card{position:relative;background:linear-gradient(135deg,#003b7014,#00a6a61f);border-radius:22px;padding:1.35rem 1.6rem;box-shadow:0 12px 28px #003b701f;display:flex;flex-direction:column;gap:.55rem;min-height:150px;border:1px solid rgba(0,59,112,.18);overflow:hidden;min-width:0}.projects-summary__card:after{content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at center,rgba(255,255,255,.4),transparent 60%);pointer-events:none}.projects-summary__card span{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#0d1b2aa6}.projects-summary__card strong{font-size:2rem;font-weight:600;color:var(--brand-primary);letter-spacing:-.02em}.projects-summary__card small{color:var(--text-secondary);font-size:.88rem}.projects-trend__chart{position:relative;height:180px;width:100%}.projects-trend__legend-swatch--production{background:#14b8a6f2}.projects-trend--empty{justify-content:center}.projects-trend__empty{margin:0;font-size:.85rem;color:var(--text-muted)}.project-code-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:12px;background:#003b7014;color:var(--brand-primary);font-weight:600;font-size:.9rem;letter-spacing:.08em}.project-code-hint{padding:.45rem .9rem;border-radius:12px;background:#0f172a0f;color:var(--text-secondary);font-size:.85rem}.projects-summary__card--wide{grid-column:span 2;min-width:0}@media (max-width: 720px){.projects-summary__card--wide{grid-column:span 1;min-width:auto}}.projects-summary__card--chart{padding:1.5rem;background:linear-gradient(135deg,#003b700f,#00a6a629);border:1px solid rgba(0,59,112,.22)}.projects-summary__card--chart:after{display:none}.projects-trend{display:flex;flex-direction:column;gap:.75rem;height:100%}.projects-trend__header{display:flex;flex-direction:column;gap:.35rem}.projects-trend__header span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#0d1b2a8c}.projects-trend__header strong{font-size:1.05rem;color:var(--brand-primary)}.projects-trend__bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(32px,1fr));align-items:end;gap:.75rem;height:160px;padding:0 .25rem}.projects-trend__bar-group{display:flex;flex-direction:column;align-items:center;gap:.45rem}.projects-trend__bar{position:relative;width:18px;height:120px;border-radius:12px;background:#0d1b2a14;overflow:hidden}.projects-trend__bar--costs{margin-top:-8px}.projects-trend__bar-fill{position:absolute;bottom:0;left:0;right:0;border-radius:12px;transition:height .3s ease}.projects-trend__bar-fill--revenue{background:linear-gradient(180deg,#0076a0f2,#0076a0a6)}.projects-trend__bar-fill--costs{background:linear-gradient(180deg,#d14343e6,#d1434399)}.projects-trend__bar-label{font-size:.75rem;color:var(--text-secondary);letter-spacing:.04em}.projects-trend__legend{display:flex;gap:.85rem;flex-wrap:wrap}.projects-trend__legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-secondary)}.projects-trend__legend-swatch{width:12px;height:12px;border-radius:50%}.projects-trend__legend-swatch--revenue{background:#0076a0f2}.projects-trend__legend-swatch--costs{background:#d14343e6}.projects-summary__card--positive strong{color:var(--success)}.projects-summary__card--warning strong{color:var(--warning)}.project-attachments{display:flex;flex-direction:column;gap:.9rem}.project-attachments__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.project-attachments__path{display:inline-flex;align-items:center;gap:.55rem;color:var(--text-secondary)}.project-attachments__actions{display:inline-flex;gap:.55rem;align-items:center}.project-attachments__table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:14px}.project-attachments__table{min-width:760px}.project-attachments__name{border:none;background:transparent;color:var(--text-primary);padding:0;text-align:left;cursor:pointer;font-weight:600}.project-attachments__name:disabled{cursor:default;opacity:.9}.project-attachments__row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.project-attachments__deleted{border:1px solid var(--border-color);border-radius:14px;padding:.75rem .9rem;background:var(--surface-muted)}.project-attachments__deleted h4{margin:0 0 .5rem;color:var(--brand-primary)}.project-attachments__deleted ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.project-attachments__deleted li{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.projects-filters{background:var(--surface-elevated);border-radius:22px;padding:1.5rem;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:1.2rem;overflow:hidden;transition:max-height .35s ease,padding .35s ease;max-height:1600px}.projects-filters--collapsed{padding-bottom:1rem;max-height:120px}.projects-filters__header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.projects-filters__header h2{margin:0;font-size:1.1rem;color:var(--brand-primary)}.projects-filters__header span{display:block;font-size:.85rem;color:var(--text-muted)}@media (max-width: 640px){.projects-filters__header{flex-direction:column;align-items:flex-start;gap:.75rem}.projects-filters__header span{font-size:.8rem}}.projects-filters__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.projects-filters--collapsed .projects-filters__grid{opacity:0;transform:translateY(-16px);pointer-events:none}.projects-filters__search{grid-column:1 / -1;display:flex;flex-direction:column;gap:.5rem}.projects-filters__group,.projects-filters__range{display:flex;flex-direction:column;gap:.5rem}.projects-filters__range>div{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.projects-filters__range>div span{width:16px;text-align:center;color:var(--text-muted)}.projects-filters label,.projects-filters span{font-size:.85rem;color:var(--text-secondary)}.projects-filters input,.projects-filters select{border-radius:12px;border:1px solid var(--border-color);background:var(--surface-primary);padding:.55rem .75rem;color:var(--text-primary)}.projects-filters__search input{padding:.65rem .85rem}.projects-filters__range>div{display:flex;align-items:center;gap:.5rem}.projects-status-filters{display:flex;flex-wrap:wrap;gap:.5rem}.projects-status-pill{border-radius:999px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);padding:.4rem .95rem;cursor:pointer;transition:all .2s ease}.projects-status-pill--active{background:#0076a01f;border-color:#0076a04d;color:var(--brand-primary)}.projects-sort{display:flex;align-items:stretch;gap:.5rem}.projects-sort select{flex:1}.projects-sort__direction{border-radius:12px;border:1px solid var(--border-color);background:var(--surface-primary);width:42px;cursor:pointer}.projects-view-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.15rem .1rem 0}.projects-view-controls__meta{display:flex;flex-direction:column;gap:.15rem}.projects-view-controls__meta strong{font-size:.95rem;color:var(--text-primary)}.projects-view-controls__meta span{font-size:.82rem;color:var(--text-muted)}.projects-view-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem;border:1px solid var(--border-color);background:var(--surface-elevated);border-radius:999px;box-shadow:var(--shadow-soft)}.projects-view-toggle__button{display:inline-flex;align-items:center;gap:.45rem;border:none;background:transparent;color:var(--text-secondary);padding:.65rem 1rem;border-radius:999px;cursor:pointer;font-weight:600;transition:background .2s ease,color .2s ease,transform .2s ease}.projects-view-toggle__button:hover{background:#003b700d;color:var(--brand-primary);transform:translateY(-1px)}.projects-view-toggle__button svg{width:18px;height:18px}.projects-view-toggle__button--active{background:linear-gradient(135deg,#003b701f,#00a6a61f);color:var(--brand-primary);box-shadow:inset 0 0 0 1px #003b7014}.projects-table-view{background:var(--surface-elevated);border-radius:22px;box-shadow:var(--shadow-soft);overflow:hidden}.projects-table-view__scroll{overflow-x:auto}.projects-table-view__table{width:100%;min-width:1180px;table-layout:fixed;border-collapse:separate;border-spacing:0}.projects-table-view__table thead th{position:sticky;top:0;z-index:1;background:linear-gradient(180deg,#fffffffa,#f4f8fbfa);border-bottom:1px solid var(--border-color);color:var(--text-muted);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:.7rem .65rem;white-space:nowrap}.projects-table-view__table tbody td{padding:.68rem .65rem;border-bottom:1px solid rgba(0,59,112,.08);vertical-align:middle;color:var(--text-secondary);font-size:.84rem;background:var(--surface-elevated)}.projects-table-view__table tbody tr:hover td{background:#003b7006}.projects-table-view__row--menu-open td{background:#003b700a}.projects-table-view__table td:first-child,.projects-table-view__table th:first-child{width:58px;padding-left:.75rem}.projects-table-view__table td:last-child,.projects-table-view__table th:last-child{width:72px;padding-right:.75rem}.projects-table-view__table th:nth-child(2),.projects-table-view__table td:nth-child(2){width:108px}.projects-table-view__table th:nth-child(3),.projects-table-view__table td:nth-child(3){width:92px}.projects-table-view__table th:nth-child(4),.projects-table-view__table td:nth-child(4){width:124px}.projects-table-view__table th:nth-child(5),.projects-table-view__table td:nth-child(5){width:188px}.projects-table-view__table th:nth-child(6),.projects-table-view__table td:nth-child(6){width:126px}.projects-table-view__table th:nth-child(7),.projects-table-view__table td:nth-child(7){width:96px}.projects-table-view__table th:nth-child(8),.projects-table-view__table td:nth-child(8){width:96px}.projects-table-view__table th:nth-child(9),.projects-table-view__table td:nth-child(9),.projects-table-view__table th:nth-child(10),.projects-table-view__table td:nth-child(10),.projects-table-view__table th:nth-child(11),.projects-table-view__table td:nth-child(11){width:100px}.projects-table-view__progress{min-width:0;display:flex;flex-direction:column;gap:.3rem}.projects-table-view__progress small{font-size:.72rem;color:var(--text-muted)}.projects-table-view__status{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;white-space:nowrap}.projects-table-view__code{color:var(--brand-primary);font-size:.9rem;letter-spacing:.02em;word-break:break-word}.projects-table-view__title{display:flex;flex-direction:column;gap:.2rem;min-width:0}.projects-table-view__title strong{color:var(--text-primary);font-size:.88rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.projects-table-view__title small{color:var(--text-muted);font-size:.74rem;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.projects-table-view__actions{display:flex;align-items:center;gap:.45rem;justify-content:flex-end;position:relative}.projects-docs--table{position:relative;border:0 solid var(--border-color);background:transparent;display:grid;place-items:center;font-size:2.2rem;padding-bottom:10px;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.projects-docs--table .projects-docs__badge{top:-4px;right:-4px}.projects-empty--table{margin:1rem}@media (max-width: 960px){.projects-view-controls{flex-direction:column;align-items:flex-start}.projects-view-toggle{width:100%}.projects-view-toggle__button{flex:1;justify-content:center}}@media (min-width: 1400px){.projects-table-view__table th:nth-child(5),.projects-table-view__table td:nth-child(5){width:250px}}.projects-table{background:var(--surface-elevated);border-radius:22px;padding:1.25rem 1.5rem;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.75rem;overflow:visible}.projects-table__header{display:none}.projects-table__body{display:flex;flex-direction:column;gap:.6rem;max-height:100%;overflow:visible}.projects-row{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(320px,1.2fr) minmax(470px,1.95fr);gap:.85rem;align-items:stretch;background:transparent;border:1px solid var(--border-color);border-radius:18px;padding:.75rem .9rem;cursor:default;transition:transform .15s ease,box-shadow .15s ease;overflow:visible}.projects-row:hover{transform:translateY(-2px);box-shadow:0 16px 28px #003b701f}.projects-row--menu-open,.projects-row--menu-open:hover{transform:none}.projects-row__cluster{min-width:0;min-height:100%;padding:.95rem 1rem}.projects-row__cluster--left{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1.25rem;padding:1.15rem .35rem .9rem}.projects-row__cluster--center,.projects-row__cluster--right{border-left:1px solid var(--border-color);padding-left:1.15rem}.projects-row__cluster--center{display:grid;grid-template-columns:minmax(0,1fr);gap:.95rem;align-items:start}.projects-row__cluster--right{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"timeline actions" "economics economics";gap:.8rem .9rem;align-items:start}.projects-col{display:flex;flex-direction:column;gap:.35rem;color:var(--text-secondary);font-size:.9rem}.projects-col strong{font-size:1rem;color:var(--text-primary)}.projects-table__header .projects-col{justify-content:center;align-items:flex-start;gap:.15rem}.projects-table__header .projects-col--actions{align-items:flex-end}.projects-row__cluster--left .projects-col--doc,.projects-row__cluster--left .projects-col--progress{width:80%;align-items:center;text-align:center}.projects-row__cluster--right .projects-col--timeline{grid-area:timeline}.projects-row__cluster--right .projects-col--actions{grid-area:actions;align-items:flex-end}.projects-row__cluster--right .projects-col--economics{grid-area:economics}.projects-col--doc{align-items:flex-start}.projects-col--actions{align-items:flex-end}.projects-info{display:flex;flex-direction:column;gap:.8rem;padding-right:.25rem}.projects-info__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.projects-info__status{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.projects-info__client{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:.15rem;min-width:0;padding-top:.05rem}.projects-info__client-name{font-size:1rem;line-height:1.2;color:var(--brand-primary);font-weight:700;white-space:nowrap}.projects-info__client-meta{color:var(--text-secondary);font-size:.82rem;line-height:1.35}.projects-info__title strong{display:block;font-size:clamp(1.4rem,1.7vw,1.95rem);line-height:1.06;letter-spacing:-.03em;white-space:normal}.projects-info__title .projects-row__meta{margin-top:.4rem;font-size:1.02rem;line-height:1.5;max-width:34rem}.projects-info__divider{width:100%;height:1px;background:linear-gradient(90deg,#003b7014,#003b7005);margin:.15rem 0 .05rem}.projects-info__details{display:grid;gap:.7rem;margin-top:.05rem}.projects-info__field{display:grid;grid-template-columns:42px auto 1fr;gap:.9rem;align-items:center;min-width:0}.projects-info__field-icon{width:42px;height:42px;border-radius:14px;background:#0076a014;color:var(--brand-primary);display:grid;place-items:center;flex-shrink:0}.projects-info__field-icon svg{width:20px;height:20px}.projects-info__field-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.projects-info__field-value{font-size:1rem;line-height:1.2;color:var(--text-primary);font-weight:600;min-width:0;word-break:break-word}.projects-info__tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.15rem}.projects-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(132px,100%),1fr));gap:.6rem;margin:0;align-items:stretch}.projects-metrics__item{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.85rem .85rem .78rem;border-radius:18px;border:1px solid rgba(0,59,112,.12);background:linear-gradient(180deg,#fffffff0,#f4f9ffd1);box-shadow:0 8px 20px #003b700d;position:relative;overflow:hidden;min-height:122px}.projects-metrics__item--positive{border-color:#3aaf653d;background:linear-gradient(180deg,#fffffff5,#ecfbf1e0)}.projects-metrics__item--negative{border-color:#d143433d;background:linear-gradient(180deg,#fffffff5,#ffefefe0)}.projects-metrics__item:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,#0076a0bf,#00a6a659);opacity:.95}.projects-metrics__item--positive:before{background:linear-gradient(90deg,#3aaf65e0,#3aaf6557)}.projects-metrics__item--negative:before{background:linear-gradient(90deg,#d14343e0,#d1434357)}.projects-metrics__item dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding-top:.1rem}.projects-metrics__item dd{margin:0;font-weight:600;font-size:1rem;line-height:1.05;color:var(--text-primary)}.projects-metrics__item small{font-size:.72rem;line-height:1.2;color:var(--text-muted)}.projects-metrics__value{display:flex;flex-direction:column;gap:.15rem}.projects-metrics__value span{font-size:.75rem;color:var(--text-muted)}.projects-metrics__value--positive{color:var(--success)}.projects-metrics__value--negative{color:var(--danger)}.projects-metrics__icon{width:58px;height:58px;border-radius:999px;background:#0076a014;border:1px solid rgba(42,123,220,.08);color:#2a7bdc;display:grid;place-items:center;box-shadow:inset 0 1px #ffffffeb;margin-bottom:.15rem;flex-shrink:0}.projects-metrics__icon svg{width:32px;height:32px}.projects-timeline{display:flex;flex-direction:column;gap:.35rem}.projects-timeline__range{display:flex;align-items:center;gap:.65rem;font-weight:600;color:var(--brand-primary);white-space:normal}.projects-timeline{word-break:break-word}.projects-timeline__icon{width:34px;height:34px;border-radius:12px;background:#0076a014;color:var(--brand-primary);display:grid;place-items:center;flex-shrink:0}.projects-timeline__icon svg{width:18px;height:18px}.projects-docs{position:relative;width:100px;height:100px;border-radius:50%;border:1px solid var(--border-color);background:#fafafa;display:grid;place-items:center;font-size:3.2rem;padding-bottom:10px;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.projects-docs:hover{border-color:#003b7059;transform:translateY(-1px)}.projects-docs>span[aria-hidden]{display:block;line-height:1}.projects-docs__badge{position:absolute;top:0;right:-4px;min-width:30px;height:26px;border-radius:999px;background:var(--brand-accent);color:#fff;font-size:.7rem;display:grid;place-items:center;padding:0 .35rem}.projects-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .7rem;border-radius:999px;font-size:.75rem;background:#00a6a61f;color:var(--brand-primary)}.projects-tag.neutral{background:#0f172a14;color:var(--text-secondary)}.projects-progress{position:relative;width:100%;height:8px;border-radius:999px;background:var(--surface-muted);overflow:hidden}.projects-progress__row{display:flex;align-items:center;gap:.55rem;width:100%}.projects-progress__bar{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;transition:width .25s ease}.projects-progress--positive .projects-progress__bar{background:#3aaf65bf}.projects-progress--warning .projects-progress__bar{background:#f3a712cc}.projects-progress--danger .projects-progress__bar{background:#d14343d9}.projects-progress__value{font-weight:600;font-size:1rem;line-height:1;color:var(--text-primary);flex-shrink:0;min-width:2.4rem}.projects-progress__flag{font-size:.75rem;color:var(--danger)}.projects-status{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:999px;padding:.35rem .8rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.projects-status--lead{background:#0076a01f;color:var(--brand-primary)}.projects-status--attiva{background:#3aaf651f;color:var(--success)}.projects-status--on_hold{background:#f3a7121f;color:var(--warning)}.projects-status--chiusa{background:#0f172a1f;color:var(--text-secondary)}.projects-status__badge{display:inline-block;padding:.3rem .6rem;border-radius:8px;background:#d143431f;color:var(--danger);font-size:.7rem;font-weight:600}.projects-row__meta{color:var(--text-muted);font-size:.78rem}.projects-client__rating{font-size:.75rem;color:var(--warning);letter-spacing:.1rem}.projects-margin{font-weight:600}.projects-margin--positive{color:var(--success)}.projects-margin--negative{color:var(--danger)}.projects-variance{font-weight:600;display:inline-flex;align-items:center;gap:.3rem;border-radius:10px;padding:.25rem .55rem}.projects-variance--positive{background:#3aaf6526;color:var(--success)}.projects-variance--negative{background:#d1434326;color:var(--danger)}.projects-variance--neutral{background:#0f172a14;color:var(--text-secondary)}.projects-col--actions{position:relative;align-items:flex-end}.projects-actions__menu-anchor{position:relative;align-self:auto;display:flex;align-items:flex-start}.projects-actions__trigger{border:1px solid var(--border-color);background:var(--surface-elevated);border-radius:12px;width:38px;height:38px;font-size:1.25rem;line-height:1;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.projects-actions__trigger:hover{border-color:#003b7059;transform:none}.projects-actions__menu{position:absolute;top:100%;right:0;display:flex;flex-direction:column;background:var(--surface-elevated);border-radius:16px;box-shadow:var(--shadow-soft);min-width:220px;overflow:hidden;z-index:120;cursor:pointer}.projects-actions__menu button{background:transparent;border:none;text-align:left;padding:.75rem 1rem;font-size:.9rem;color:var(--text-secondary);cursor:pointer;transition:background .2s ease,color .2s ease}.projects-actions__menu button:hover{background:#0076a014;color:var(--brand-primary)}.projects-empty{text-align:center;padding:2rem 1.5rem;border:1px dashed rgba(0,59,112,.2);border-radius:18px;color:var(--text-secondary)}.projects-actions__summary{display:flex;gap:.4rem;margin-bottom:0;flex-wrap:wrap;justify-content:flex-end;width:auto}.projects-col--actions{flex-direction:row;align-items:flex-start;justify-content:flex-end;gap:.5rem}.projects-actions__icon{border:none;background:#003b701f;color:var(--brand-primary);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:1.1rem;cursor:pointer;transition:transform .2s ease,background .2s ease}.projects-actions__icon:hover{transform:translateY(-1px);background:#003b702e}.projects-load-more{display:flex;justify-content:center}.projects-actions__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:30}.project-detail{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a6b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:1.25rem;z-index:80}.project-detail__card{background:radial-gradient(circle at top left,#fffffff5,#f5faffeb 36%,#eef6ffe6);border:1px solid rgba(255,255,255,.7);border-radius:30px;box-shadow:0 28px 80px #003b703d;width:min(1360px,100%);max-height:calc(100vh - 1rem);overflow:hidden;display:flex;flex-direction:column}.project-detail__header{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.35rem .85rem;border-bottom:1px solid rgba(0,59,112,.09);background:linear-gradient(180deg,#fffffffa,#f8fbfff0);flex-shrink:0}.project-detail__header-main{display:flex;align-items:flex-start;gap:.85rem;min-width:0}.project-detail__hero-copy{display:flex;flex-direction:column;gap:.42rem;min-width:0}.project-detail__hero-copy h2{margin:0;font-size:clamp(1.65rem,1.95vw,2.2rem);line-height:1.02;letter-spacing:-.03em;color:var(--brand-primary)}.project-detail__hero-copy p{margin:0;color:var(--text-secondary);font-size:.92rem;line-height:1.42;max-width:46rem}.project-detail__header-side{display:flex;flex-direction:column;align-items:flex-end;gap:.72rem;min-width:0}.project-detail__body{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:"overview economics" "progress economics";gap:.8rem;padding:.85rem 1.35rem 1rem;overflow:hidden}.project-detail__section{min-width:0;background:#ffffffd1;border:1px solid rgba(0,59,112,.09);border-radius:22px;box-shadow:0 12px 28px #003b700d;padding:.85rem .9rem .95rem}.project-detail__section--overview{grid-area:overview}.project-detail__section--progress{grid-area:progress}.project-detail__section--economics{grid-area:economics}.project-detail__section-heading{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.65rem}.project-detail__section-heading h3{margin:0;color:var(--text-primary);font-size:.95rem;letter-spacing:.04em;text-transform:uppercase}.project-detail__section-heading p{margin:0;color:var(--text-muted);font-size:.78rem;line-height:1.3}.project-detail__facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.project-detail__side-field{display:flex;align-items:flex-start;gap:.65rem;padding:.72rem .8rem;border-radius:16px;background:linear-gradient(180deg,#fffffff0,#f6faffe6);border:1px solid rgba(0,59,112,.08);box-shadow:0 8px 18px #003b700a;min-width:0}.project-detail__row-icon{width:34px;height:34px;border-radius:12px;background:#0076a014;color:var(--brand-primary);display:grid;place-items:center;flex-shrink:0}.project-detail__row-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.project-detail__row-value{font-size:.86rem;color:var(--text-primary);font-weight:600;min-width:0;word-break:break-word}.project-detail__progress-card{display:flex;flex-direction:column;gap:.6rem;padding:.85rem .9rem;border-radius:18px;background:linear-gradient(135deg,#003b700f,#00a6a614);border:1px solid rgba(0,59,112,.08)}.project-detail__progress-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.project-detail__progress-row strong{color:var(--brand-primary);font-size:1.2rem;line-height:1}.project-detail__progress-row span{color:var(--text-muted);font-size:.8rem;text-align:right}.project-detail__progress-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem .75rem;color:var(--text-muted);font-size:.76rem}.project-detail__progress-warning{color:var(--warning);font-weight:600}.project-detail__metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.project-detail__metric{min-height:112px;padding:.8rem .8rem .72rem;border-radius:18px;gap:.5rem}.project-detail__metric-icon{width:48px;height:48px;margin-bottom:0}.project-detail__metric-value{font-size:1.06rem}.project-detail__metric-helper{font-size:.7rem}.project-detail__layout{display:grid;grid-template-columns:minmax(220px,.86fr) minmax(0,1.28fr) minmax(0,1.58fr);min-height:0}.project-detail__panel{position:relative;min-width:0;min-height:0;padding:2rem 1.85rem 1.8rem}.project-detail__panel+.project-detail__panel{border-left:1px solid rgba(0,59,112,.09)}.project-detail__panel--rail{display:flex;align-items:center;justify-content:center}.project-detail__rail{width:100%;max-width:180px;display:flex;flex-direction:column;align-items:center;gap:2rem}.project-detail__doc-badge{position:relative;width:88px;height:88px;border-radius:999px;background:linear-gradient(180deg,#fffffff5,#f4f8fff0);border:1px solid rgba(0,59,112,.08);box-shadow:inset 0 1px #fffc;display:grid;place-items:center;color:var(--warning);flex-shrink:0}.project-detail__doc-icon{width:48px;height:48px;display:grid;place-items:center}.project-detail__doc-icon svg,.project-detail__metric-icon svg,.project-detail__timeline-icon svg,.project-detail__row-icon svg,.project-detail__action-button svg{width:1em;height:1em}.project-detail__metric-icon svg{width:40px;height:40px}.project-detail__doc-count{position:absolute;top:4px;right:4px;min-width:28px;height:28px;padding:0 .55rem;border-radius:999px;background:linear-gradient(180deg,#00a6a6f5,#008b95f5);color:#fff;font-size:.75rem;font-weight:700;display:grid;place-items:center;box-shadow:0 10px 18px #0076a03d}.project-detail__rail-progress{display:flex;flex-direction:column;align-items:center;gap:.45rem;width:100%}.project-detail__rail-progress strong{font-size:1.15rem;color:var(--brand-primary)}.project-detail__rail-progress small{font-size:.8rem;color:var(--text-muted);text-transform:capitalize}.project-detail__rail-track{width:100%;height:10px;border-radius:999px;background:#003b7014;overflow:hidden}.project-detail__rail-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#00a6a6f2,#0076a0f2)}.project-detail__panel--content{display:flex;flex-direction:column;justify-content:center;gap:.8rem}.project-detail__panel--content h2{margin:.55rem 0 0;font-size:clamp(2rem,2.15vw,2.7rem);line-height:1.04;letter-spacing:-.03em;color:var(--brand-primary)}.project-detail__panel--content p{margin:.35rem 0 0;color:var(--text-secondary);font-size:1.04rem;line-height:1.55;max-width:36rem}.project-detail__meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.05rem}.project-detail__chips{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.project-detail__chip{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;border-radius:999px;background:#00a6a624;color:var(--brand-primary);font-weight:600;box-shadow:inset 0 1px #ffffffd9}.project-detail__chip--muted{background:#0f172a14;color:var(--text-secondary)}.project-detail__panel--content .project-detail__meta .project-detail__side-field{flex:1 1 180px}.project-detail__side-field{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem .9rem;border-radius:18px;background:linear-gradient(180deg,#fffffff0,#f6faffe6);border:1px solid rgba(0,59,112,.08);box-shadow:0 8px 18px #003b700a;min-width:0}.project-detail__side-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}.project-detail__key-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:.35rem}.project-detail__row-icon,.project-detail__timeline-icon,.project-detail__metric-icon{width:38px;height:38px;border-radius:14px;background:#0076a014;color:var(--brand-primary);display:grid;place-items:center;flex-shrink:0}.project-detail__row-label,.project-detail__metric-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.project-detail__row-value{font-size:.9rem;color:var(--text-primary);font-weight:600;min-width:0;word-break:break-word}.project-detail__metrics{display:flex;flex-direction:column;min-width:0;gap:.85rem}.project-detail__metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.project-detail__metric{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;min-width:0;min-height:132px;padding:.9rem .9rem .85rem;border-radius:20px;background:#ffffffe6;border:1px solid rgba(0,59,112,.1);box-shadow:0 12px 24px #003b700d;position:relative;overflow:hidden}.project-detail__metric:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,#0076a0e6,#00a6a673)}.project-detail__metric--positive:before{background:linear-gradient(90deg,#3aaf65f2,#3aaf6566)}.project-detail__metric--warning:before{background:linear-gradient(90deg,#d14343f2,#d1434366)}.project-detail__metric--positive .project-detail__metric-value{color:var(--success)}.project-detail__metric--warning .project-detail__metric-value{color:var(--warning)}.project-detail__metric-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.05rem}.project-detail__metric-value{font-size:1.18rem;line-height:1.05;color:var(--text-primary);font-weight:700;letter-spacing:-.02em}.project-detail__metric-helper{font-size:.74rem;line-height:1.4;color:var(--text-muted)}.project-detail__metric-icon{width:56px;height:56px;border-radius:999px;background:#0076a014;border:1px solid rgba(42,123,220,.08);color:#2a7bdc;display:grid;place-items:center;box-shadow:inset 0 1px #ffffffeb;margin-bottom:0;align-self:flex-start}.project-detail__economics-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.05rem}.project-detail__date-block{display:flex;align-items:center;gap:.7rem;min-width:0}.project-detail__date-icon{width:50px;height:50px;border-radius:14px;background:#0076a014;color:var(--brand-primary);display:grid;place-items:center;flex-shrink:0}.project-detail__date-block strong{display:block;font-size:.95rem;color:var(--brand-primary)}.project-detail__date-block small{display:block;margin-top:.2rem;color:var(--text-muted);font-size:.74rem;line-height:1.3}.project-detail__top-actions{display:flex;align-items:flex-start;gap:.5rem;justify-self:end;flex-wrap:wrap}.project-detail__action-button,.project-detail__close{width:40px;height:40px;border-radius:12px;border:1px solid rgba(0,59,112,.12);background:#ffffffd9;color:var(--brand-primary);display:grid;place-items:center;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}.project-detail__action-button:hover,.project-detail__close:hover{transform:translateY(-1px);background:#003b700f;border-color:#003b7038}.project-detail__close{font-size:1.2rem;line-height:1;font-weight:700}.project-drawer{position:fixed;top:0;right:0;bottom:0;left:0;display:none;z-index:90}.project-drawer--open{display:block}.project-drawer__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.project-drawer__panel{position:absolute;top:0;right:0;width:min(720px,100%);height:100%;background:var(--surface-elevated);box-shadow:var(--shadow-soft);display:flex;flex-direction:column}.project-drawer__header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.project-drawer__header h2{margin:0;font-size:1.35rem;color:var(--brand-primary)}.project-drawer__header p{margin:.5rem 0 0;color:var(--text-muted)}.project-drawer__close{border:none;background:transparent;font-size:1.75rem;line-height:1;cursor:pointer;color:var(--text-muted)}.project-drawer__body{padding:1.5rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1.5rem}.project-form-section{display:flex;flex-direction:column;gap:.85rem}.project-form-section h3{margin:0;font-size:1rem;color:var(--brand-primary)}.project-form-intro{margin:0;color:var(--text-secondary);line-height:1.5}.project-economic-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.85rem}.project-economic-summary__card{display:flex;flex-direction:column;gap:.3rem;padding:.95rem 1rem;border-radius:16px;background:linear-gradient(135deg,#003b700f,#00a6a614);border:1px solid rgba(0,59,112,.1)}.project-economic-summary__card span{font-size:.8rem;color:var(--text-muted)}.project-economic-summary__card strong{font-size:1.2rem;color:var(--brand-primary)}.project-economic-summary__card small{color:var(--text-secondary);line-height:1.4}.project-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.project-form-field{display:flex;flex-direction:column;gap:.35rem}.project-form-field.full{grid-column:span 2}.project-form-field.half{grid-column:span 1}.project-form-field label{font-size:.85rem;color:var(--text-secondary)}.project-form-field input,.project-form-field select,.project-form-field textarea{border-radius:12px;border:1px solid var(--border-color);background:var(--surface-primary);padding:.55rem .75rem;font:inherit;color:var(--text-primary)}.project-form-field textarea{resize:vertical}.project-form-helper{font-size:.75rem;color:var(--text-muted)}.project-form-field.checkbox{flex-direction:row;align-items:center}.project-form-field.checkbox label{display:flex;align-items:center;gap:.5rem}.project-form-field.derived strong{font-size:1.1rem}.project-form-field.error input,.project-form-field.error select,.project-form-field.error textarea{border-color:#d1434399}.project-form-error{font-size:.8rem;color:var(--danger)}.tone-warning{color:var(--warning)}.tone-positive{color:var(--success)}.tone-danger{color:var(--danger)}.project-client-select{display:flex;gap:.5rem}.project-client-options{display:flex;flex-wrap:wrap;gap:.4rem}.project-client-option{border-radius:999px;border:1px solid var(--border-color);padding:.3rem .75rem;background:var(--surface-primary);cursor:pointer;font-size:.8rem}.project-client-option--selected{border-color:#0076a080;background:#0076a01f}.project-client-empty{font-size:.8rem;color:var(--text-muted)}.project-map-preview{height:120px;border-radius:16px;background:var(--surface-muted);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.85rem}.project-drawer__footer{border-top:1px solid var(--border-color);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.project-drawer__actions{display:flex;gap:.75rem}@media (max-width: 1350px){.project-detail__body{grid-template-columns:1fr;grid-template-areas:"overview" "progress" "economics"}.project-detail__header{flex-direction:column}.project-detail__header-side{align-items:flex-start}.project-detail__facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail__doc-badge{width:78px;height:78px}.project-detail__hero-copy h2{font-size:clamp(1.65rem,3vw,2.1rem)}.project-detail__top-actions{justify-content:flex-start}.project-detail__layout{grid-template-columns:minmax(190px,.7fr) minmax(0,1fr)}.project-detail__panel--economics{grid-column:1 / -1;border-left:0;border-top:1px solid rgba(0,59,112,.09)}.project-detail__key-points{grid-template-columns:repeat(3,minmax(0,1fr))}.project-detail__card{max-height:calc(100vh - 1.7rem)}.project-detail{padding:.85rem}.project-detail__layout{grid-template-columns:minmax(180px,.65fr) minmax(0,1fr)}.project-detail__panel--content{border-left:0}.project-detail__metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail__panel--economics{grid-column:1 / -1}}@media (max-width: 960px){.projects-header{flex-direction:column}.projects-filters{padding:1.25rem}.projects-filters__search{grid-column:1 / -1}.projects-table{padding:1.1rem 1.2rem}.projects-row{grid-template-columns:minmax(0,1fr);padding:0;gap:.8rem}.projects-row__cluster{padding:.85rem .95rem}.projects-row__cluster--left,.projects-row__cluster--center,.projects-row__cluster--right{grid-template-columns:minmax(0,1fr)}.projects-row__cluster--center .projects-col--info,.projects-row__cluster--center .projects-col--client,.projects-row__cluster--right .projects-col--timeline,.projects-row__cluster--right .projects-col--actions,.projects-row__cluster--right .projects-col--economics{grid-area:auto}.projects-row__cluster--right{grid-template-areas:"timeline" "actions" "economics"}.projects-row__cluster--left .projects-col--doc,.projects-row__cluster--left .projects-col--progress{align-items:center;text-align:center}.project-detail__body{padding:.9rem 1rem 1rem;overflow:auto}.project-detail__facts-grid,.project-detail__metrics-grid{grid-template-columns:1fr}.project-detail__section{padding:.9rem}.project-detail__hero-copy p{font-size:.94rem}.project-detail__header{padding:1rem 1rem .95rem}.project-detail__header-main{gap:.8rem}.project-detail__doc-badge{width:68px;height:68px}.project-detail__doc-icon{width:42px;height:42px}.project-detail__top-actions{gap:.45rem}.project-detail__action-button,.project-detail__close{width:40px;height:40px;border-radius:12px}.project-detail__layout{grid-template-columns:1fr}.project-detail__panel+.project-detail__panel{border-left:0;border-top:1px solid rgba(0,59,112,.09)}.project-detail__panel{padding:1.25rem 1.15rem}.project-detail__panel--rail{padding-bottom:.5rem}.project-detail__rail{max-width:240px}.project-detail__panel--content,.project-detail__panel--economics{justify-content:flex-start}.project-detail__economics-head{flex-direction:column}.project-detail__metrics-grid,.project-detail__key-points{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.projects-header{padding:1.1rem 1.15rem}.projects-summary__card{padding:1.05rem 1.2rem}.projects-table{padding:.85rem 1rem}.projects-row__cluster{padding:.8rem .85rem}.projects-row__cluster--center,.projects-row__cluster--right{grid-template-columns:minmax(0,1fr)}.projects-metrics{grid-template-columns:1fr}.project-detail{padding:1rem}.project-detail__card{border-radius:24px}.project-detail__body{padding:.85rem .85rem .95rem;overflow:auto}.project-detail__header-main{align-items:flex-start}.project-detail__hero-copy h2{font-size:1.55rem}.project-detail__hero-copy p{font-size:.9rem}.project-detail__doc-badge{width:58px;height:58px}.project-detail__doc-icon{width:36px;height:36px}.project-detail__doc-count{min-width:24px;height:24px;font-size:.68rem}.project-detail__section{border-radius:20px}.project-detail__facts-grid,.project-detail__metrics-grid{grid-template-columns:1fr}.project-detail__action-button,.project-detail__close{width:50px;height:50px;border-radius:16px}}.docs-page{display:flex;flex-direction:column;gap:1rem}.docs-header,.docs-toolbar,.docs-panel{background:var(--surface-elevated);border-radius:18px;padding:1rem 1.25rem;box-shadow:var(--shadow-soft)}.docs-panel{position:relative}.docs-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.docs-header__actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.docs-header__search{position:relative;display:flex;align-items:center;min-width:min(320px,34vw)}.docs-header__search-icon{position:absolute;left:.85rem;width:1rem;height:1rem;color:var(--text-muted);pointer-events:none}.docs-header__search-icon svg,.docs-icon-button svg{width:100%;height:100%;display:block;fill:currentColor}.docs-header__search input{height:40px;width:100%;border-radius:999px;border:1px solid var(--border-color);background:var(--surface-primary);color:var(--text-primary);padding:0 .9rem 0 2.35rem;font-size:.9rem}.docs-header__search input:focus{outline:none;border-color:#0076a073;box-shadow:0 0 0 3px #0076a01f}.docs-header h1,.docs-panel h2{margin:0;color:var(--brand-primary)}.docs-header p,.docs-panel p{margin:.35rem 0 0;color:var(--text-muted)}.docs-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(340px,.9fr) minmax(420px,1.1fr);gap:1rem;align-items:end;border:1px solid rgba(0,59,112,.12);background:linear-gradient(180deg,#fffffff5,#f6fafdf0)}.docs-toolbar__group{display:flex;align-items:end;gap:.65rem;min-width:0}.docs-toolbar__group--tools{display:grid;grid-template-columns:minmax(150px,auto) minmax(180px,1fr)}.docs-toolbar__group--actions{justify-content:flex-end}.docs-toolbar label{display:flex;flex-direction:column;gap:.35rem}.docs-toolbar label>span{color:var(--text-muted);font-size:.76rem;font-weight:600;letter-spacing:.02em}.docs-toolbar select,.docs-toolbar input[type=text],.docs-panel__head input[type=search]{border-radius:10px;border:1px solid var(--border-color);background:var(--surface-primary);padding:.5rem .75rem;min-width:0;width:100%;height:42px;box-sizing:border-box;font-size:.9rem;color:var(--text-primary)}.docs-toolbar select:focus,.docs-toolbar input[type=text]:focus{outline:none;border-color:#0076a073;box-shadow:0 0 0 3px #0076a01f}.docs-toolbar__actions{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap;justify-content:flex-start}.docs-toolbar__field{min-width:0}.docs-toolbar__field--project,.docs-toolbar__field--folder input{width:100%;min-width:0}.docs-toolbar__field--folder{flex:1 1 170px;min-width:150px;max-width:210px}.docs-view-switch{display:inline-flex;align-items:center;height:42px;padding:3px;border-radius:999px;background:var(--surface-muted);border:1px solid rgba(0,59,112,.08);gap:2px}.docs-segment{border:none;background:transparent;color:var(--brand-primary);border-radius:999px;height:34px;min-width:72px;padding:0 .72rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-size:.84rem;font-weight:600;cursor:pointer}.docs-segment--active{background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff;box-shadow:0 8px 18px #003b702e}.docs-create-btn{white-space:nowrap;height:42px;min-width:88px;justify-content:center}.docs-upload-label{white-space:nowrap;height:42px;display:inline-flex;align-items:center;font-weight:600;justify-content:center;min-width:108px}.docs-icon-button{width:42px;min-width:42px;height:42px;border:1px solid rgba(0,59,112,.08);border-radius:999px;background:var(--surface-muted);color:var(--brand-primary);display:inline-grid;place-items:center;cursor:pointer;padding:0;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.docs-icon-button svg{width:1.05rem;height:1.05rem}.docs-icon-button:not(:disabled):hover{background:#0076a01f;box-shadow:0 8px 16px #003b701f;transform:translateY(-1px)}.docs-icon-button--active{background:#0076a01f;box-shadow:inset 0 0 0 1px #0076a038}.docs-icon-button:disabled{opacity:.55;cursor:not-allowed}.docs-toolbar>.pill-button{display:inline-flex;align-items:center;white-space:nowrap;height:42px}.docs-upload-label input{display:none}.docs-panel__head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.75rem}.docs-breadcrumb{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.9rem}.docs-breadcrumb button{border:1px solid var(--border-color);border-radius:999px;background:var(--surface-primary);color:var(--text-secondary);padding:.32rem .68rem;cursor:pointer}.docs-table-wrap{overflow:auto}.docs-table-wrap table{width:100%;border-collapse:collapse;min-width:760px}.docs-table-wrap th,.docs-table-wrap td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--border-color)}.docs-table-wrap th{color:var(--text-muted);font-weight:600;font-size:.82rem}.docs-node-link{border:none;background:transparent;color:var(--brand-primary);cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;font-size:.95rem;padding:0}.docs-actions{display:flex;gap:.35rem;flex-wrap:wrap}.docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}.docs-grid--desktop{grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:.6rem;align-items:start}.docs-card{border:1px solid var(--border-color);border-radius:14px;background:var(--surface-primary);padding:.7rem;display:flex;flex-direction:column;gap:.65rem}.docs-card__main{border:none;background:transparent;text-align:left;padding:0;display:flex;flex-direction:column;gap:.3rem;cursor:pointer}.docs-card__icon{font-size:1.5rem;line-height:1}.docs-card__main strong{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-card__main small{color:var(--text-muted);font-size:.78rem}.docs-card__actions{display:flex;flex-wrap:wrap;gap:.35rem}.docs-tile{position:relative;border:1px solid transparent;border-radius:10px;padding:.35rem;background:transparent}.docs-tile:hover{background:#003b700f;border-color:#003b7024}.docs-tile__main{border:none;background:transparent;width:100%;display:flex;flex-direction:column;align-items:center;gap:.2rem;cursor:pointer;padding:.25rem .2rem}.docs-tile__icon{font-size:3rem;line-height:1}.docs-tile__label{width:100%;color:var(--text-primary);font-size:.82rem;text-align:center;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.docs-tile__meta{color:var(--text-muted);font-size:.7rem;text-align:center}.docs-tile__actions{position:absolute;top:.25rem;right:.25rem;display:flex;gap:.2rem;opacity:0;transition:opacity .15s ease}.docs-tile:hover .docs-tile__actions{opacity:1}.docs-tile__action{border:1px solid var(--border-color);background:var(--surface-elevated);border-radius:8px;width:24px;height:24px;font-size:.75rem;cursor:pointer}.docs-empty{border:1px dashed var(--border-color);border-radius:14px;padding:1rem;color:var(--text-muted)}.docs-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120}.docs-preview__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a66}.docs-preview__panel{position:absolute;top:6%;right:6%;bottom:6%;left:6%;background:var(--surface-elevated);border-radius:18px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;overflow:hidden}.docs-preview__panel>header{padding:.9rem 1rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:.9rem}.docs-preview__panel>header strong{color:var(--brand-primary)}.docs-preview__panel>header small{display:block;color:var(--text-muted);margin-top:.2rem}.docs-preview__header-actions{display:flex;gap:.45rem}.docs-preview__panel>section{padding:.75rem;flex:1;overflow:auto;display:flex;align-items:center;justify-content:center}.docs-preview__panel img,.docs-preview__panel iframe{width:100%;height:100%;border:none;object-fit:contain;background:#fff}.docs-panel--drag-over{border:2px dashed rgba(0,118,160,.55);background:linear-gradient(135deg,#0076a014,#00a6a614)}.docs-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;border-radius:18px;display:grid;place-items:center;pointer-events:none;background:#ffffff80}.docs-drop-overlay__content{display:flex;flex-direction:column;gap:.3rem;align-items:center;text-align:center;padding:.9rem 1.1rem;border-radius:14px;border:1px solid rgba(0,118,160,.35);background:#ffffffeb}.docs-drop-overlay__content strong{color:var(--brand-primary)}.docs-drop-overlay__content span{color:var(--text-secondary);font-size:.85rem}.docs-preview__panel pre{width:100%;height:100%;margin:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9rem;color:var(--text-primary)}@media (max-width: 900px){.docs-header{align-items:flex-start;flex-direction:column}.docs-header__actions{width:100%;justify-content:space-between}.docs-header__search{min-width:0;flex:1 1 220px}.docs-header__search input{width:100%}.docs-toolbar{grid-template-columns:1fr;align-items:end}.docs-toolbar__group,.docs-toolbar__group--tools,.docs-toolbar__group--actions{width:100%}.docs-toolbar__group--tools{grid-template-columns:minmax(150px,auto) minmax(160px,1fr)}.docs-toolbar__group--actions{justify-content:flex-start;flex-wrap:wrap}.docs-panel__head{flex-direction:column;align-items:flex-start}.docs-preview__panel{top:2%;right:2%;bottom:2%;left:2%}}.clients-page{display:flex;flex-direction:column;gap:1rem}.clients-header,.clients-panel,.clients-summary__card{background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:18px}.clients-header{padding:1rem 1.25rem}.clients-header h1,.clients-panel__header h2{margin:0;color:var(--brand-primary)}.clients-header p,.clients-panel__header p{margin:.25rem 0 0;color:var(--text-muted)}.clients-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.clients-summary__card{padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem}.clients-summary__card span{color:var(--text-muted);font-size:.82rem}.clients-summary__card strong{color:var(--text-primary);font-size:1.45rem}.clients-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:1rem}.clients-panel{padding:1rem 1.1rem}.clients-panel__header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.clients-panel__header--split{align-items:end}.clients-search{display:flex;flex-direction:column;gap:.3rem;min-width:min(320px,100%)}.clients-search span,.clients-form span{font-size:.82rem;color:var(--text-muted)}.clients-search input,.clients-form input,.clients-form select{border:1px solid var(--border-color);border-radius:12px;padding:.58rem .7rem;background:var(--surface-muted);color:var(--text-primary)}.clients-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.clients-form--embedded{margin-top:.25rem}.clients-form__wide{grid-column:1 / -1}.clients-form__actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.clients-error{margin:.85rem 0 0;color:var(--danger)}.clients-list{display:grid;gap:.85rem}.client-card{border:1px solid var(--border-color);border-radius:16px;padding:.95rem 1rem;background:linear-gradient(135deg,#003b700a,#00a6a614);display:flex;flex-direction:column;gap:.85rem}.client-card__head,.client-card__edit-head{display:flex;justify-content:space-between;gap:.75rem;align-items:start}.client-card__head h3{margin:0;color:var(--text-primary)}.client-card__head p{margin:.18rem 0 0;color:var(--text-muted);font-size:.92rem}.client-card__rating{border-radius:999px;padding:.3rem .6rem;background:#003b7014;color:var(--brand-primary);font-size:.82rem;white-space:nowrap}.client-card__details{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.client-card__details div{min-width:0}.client-card__details dt{margin:0 0 .2rem;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.client-card__details dd{margin:0;color:var(--text-primary);overflow-wrap:anywhere}.client-card__details a{color:var(--brand-primary);text-decoration:none}.client-card__details a:hover{text-decoration:underline}.client-card__actions{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.clients-empty{margin:0;color:var(--text-muted)}@media (max-width: 1100px){.clients-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.clients-layout{grid-template-columns:1fr}}@media (max-width: 800px){.clients-form{grid-template-columns:1fr}.clients-panel__header,.clients-panel__header--split{flex-direction:column;align-items:stretch}.clients-search{min-width:0}.client-card__details{grid-template-columns:1fr}}.inventory-grid{display:flex;flex-direction:column;gap:1.5rem}.inventory-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.inventory-summary__card{background:var(--surface-elevated);border-radius:18px;padding:1.1rem 1.25rem;box-shadow:var(--shadow-soft);border:1px solid rgba(0,59,112,.08);display:flex;flex-direction:column;gap:.35rem}.inventory-summary__label{color:var(--text-muted);font-size:.9rem}.inventory-summary__value{font-size:1.85rem;font-weight:600;color:var(--brand-primary)}.inventory-summary__value--warning{color:var(--warning)}.inventory-summary__value--danger{color:var(--danger)}.inventory-summary__helper{color:var(--text-secondary);font-size:.85rem}.inventory-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.inventory-form{display:flex;flex-direction:column;gap:.85rem}.inventory-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem}.inventory-form__group{display:flex;flex-direction:column;gap:.35rem}.inventory-form__group label{font-size:.85rem;color:var(--text-muted)}.inventory-form__actions{display:flex;align-items:center;gap:.75rem}.inventory-error{color:var(--danger);font-size:.85rem;margin:0}.inventory-table-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.inventory-search{flex:1 1 240px;max-width:360px}.inventory-table-controls select{min-width:160px}.inventory-table-empty{text-align:center;color:var(--text-muted);padding:1.5rem 0}.inventory-item__meta{display:block;font-size:.75rem;color:var(--text-muted)}.inventory-stock{display:flex;flex-direction:column;gap:.35rem}.inventory-thresholds{display:flex;flex-direction:column;gap:.3rem}.inventory-thresholds input{width:100%}.inventory-thresholds small{font-size:.75rem;color:var(--text-muted)}.inventory-row--low{background:linear-gradient(90deg,rgba(243,167,18,.12),transparent)}.inventory-row--critical{background:linear-gradient(90deg,rgba(209,67,67,.12),transparent)}.inventory-movement{display:flex;flex-direction:column;gap:.25rem}.inventory-movement__meta{font-size:.75rem;color:var(--text-muted)}.inventory-row__actions{display:flex;flex-wrap:wrap;gap:.5rem}.inventory-small-button{padding:.35rem .85rem;font-size:.8rem;line-height:1.1}.inventory-muted{color:var(--text-muted);font-size:.85rem}@media (max-width: 720px){.inventory-summary__card{padding:1rem}.inventory-form__row,.inventory-actions{grid-template-columns:minmax(0,1fr)}.inventory-table-controls{flex-direction:column;align-items:stretch}.inventory-search{width:100%;max-width:none}}.orgchart-tree{--orgchart-line-color: rgba(0, 59, 112, .4);--orgchart-line-width: 3px}.orgchart-tree{display:flex;justify-content:center;overflow-x:auto;padding:.5rem 0 1rem}.orgchart-root{display:inline-flex;align-items:flex-start;justify-content:center;gap:2.5rem;min-width:max-content}.orgchart-node{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.orgchart-card{background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:16px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--shadow-soft);min-width:220px;align-items:center;position:relative;z-index:1}.orgchart-card strong{font-size:.95rem;color:var(--text-primary)}.orgchart-role{font-size:.8rem;color:var(--text-muted);text-transform:capitalize}.orgchart-subtree{display:flex;flex-direction:column;align-items:center;width:100%}.orgchart-trunk{width:0;height:1.4rem;border-left:var(--orgchart-line-width) solid var(--orgchart-line-color)}.orgchart-children{position:relative;display:flex;align-items:flex-start;justify-content:center;gap:2.5rem;padding-top:1.5rem}.orgchart-children:before{display:none}.orgchart-rail{position:absolute;inset:0 auto auto 0;overflow:visible;z-index:0;pointer-events:none}.orgchart-rail line{stroke:var(--orgchart-line-color);stroke-width:var(--orgchart-line-width)}.orgchart-children--single .orgchart-rail{display:none}.orgchart-child{position:relative;display:flex;flex-direction:column;align-items:center}.orgchart-drop{position:absolute;top:-1.5rem;width:0;height:1.5rem;border-left:var(--orgchart-line-width) solid var(--orgchart-line-color);z-index:0}@media (max-width: 720px){.orgchart-root,.orgchart-children{display:flex;flex-direction:column;align-items:stretch;gap:1rem}.orgchart-subtree,.orgchart-node{align-items:stretch}.orgchart-card{min-width:0;width:100%}.orgchart-trunk,.orgchart-rail,.orgchart-drop{display:none}.orgchart-children{padding-top:0}}.webapps-page{display:flex;flex-direction:column;gap:1rem}.webapps-header,.webapps-toolbar,.webapps-desktop{background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:18px;padding:1rem 1.25rem}.webapps-header h1{margin:0;color:var(--brand-primary)}.webapps-header p{margin:.25rem 0 0;color:var(--text-muted)}.webapps-form{display:grid;grid-template-columns:1.2fr 2fr .7fr auto;gap:.75rem;align-items:end}.webapps-form label{display:flex;flex-direction:column;gap:.35rem}.webapps-form span{font-size:.82rem;color:var(--text-muted)}.webapps-form input{border:1px solid var(--border-color);border-radius:12px;padding:.55rem .65rem;background:var(--surface-muted)}.webapps-error{margin:.7rem 0 0;color:var(--danger)}.webapps-desktop{min-height:260px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem}.webapps-tile{border:1px solid var(--border-color);border-radius:14px;padding:.75rem;display:flex;flex-direction:column;gap:.65rem;background:var(--surface-muted)}.webapps-open{text-align:left;display:flex;flex-direction:column;gap:.3rem;color:var(--text-primary)}.webapps-actions{display:flex;gap:.5rem}.webapps-edit-form{display:grid;gap:.5rem}.webapps-edit-form input{border:1px solid var(--border-color);border-radius:10px;padding:.5rem .6rem;background:var(--surface-elevated)}.icon-action{width:34px;height:34px;border-radius:10px;border:1px solid var(--border-color);background:var(--surface-elevated);color:var(--text-primary);display:grid;place-items:center;cursor:pointer}.icon-action.primary{background:var(--brand-primary);color:#fff}.icon-action.success{background:#1eb37e33;color:var(--success)}.icon-action.danger{background:#ff6b6b33;color:var(--danger)}.webapps-icon{width:56px;height:56px;border-radius:14px;border:1px solid var(--border-color);background:linear-gradient(145deg,#003b7014,#00a6a62e);display:grid;place-items:center;font-size:1.5rem;overflow:hidden}.webapps-icon img{width:28px;height:28px;object-fit:contain}.webapps-empty{color:var(--text-muted)}@media (max-width: 900px){.webapps-form{grid-template-columns:1fr}}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--surface-primary);color:var(--text-primary);min-height:100vh}#root{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}:root{--brand-primary: #003b70;--brand-secondary: #0078a0;--brand-accent: #00a6a6;--surface-primary: #f4f8fb;--surface-elevated: #ffffff;--surface-muted: #e3edf5;--text-primary: #0d1b2a;--text-secondary: #334155;--text-muted: #5f6c7b;--border-color: #d2dbe5;--success: #3aaf65;--warning: #f3a712;--danger: #d14343;--shadow-soft: 0 12px 24px rgba(0, 59, 112, .08)}.theme-light{--surface-primary: #f4f8fb;--surface-elevated: #ffffff;--surface-muted: #e3edf5;--text-primary: #0d1b2a;--text-secondary: #334155;--text-muted: #5f6c7b;--border-color: #d2dbe5;--shadow-soft: 0 12px 24px rgba(0, 59, 112, .08)}.theme-dark{--surface-primary: #0f172a;--surface-elevated: #131f35;--surface-muted: #1e293b;--text-primary: #f8fafc;--text-secondary: #e2e8f0;--text-muted: #94a3b8;--border-color: #27354a;--shadow-soft: 0 16px 28px rgba(0, 0, 0, .35)}.theme-comfortable{--surface-primary: #eef5ff;--surface-elevated: #ffffff;--surface-muted: #dde8f9;--text-primary: #0c2340;--text-secondary: #2f4f6f;--text-muted: #6b7d96;--border-color: #c9d6eb;--shadow-soft: 0 18px 32px rgba(0, 59, 112, .12)}.panel{background:var(--surface-elevated);border-radius:18px;padding:1.25rem;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:1rem;width:100%}.panel-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.panel-header h2{margin:0;font-size:1.05rem;color:var(--brand-primary)}.panel-header span{color:var(--text-muted);font-size:.85rem}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid.metrics{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem}.grid.responsive-two{grid-template-columns:minmax(0,1fr);gap:1.25rem}@media (min-width: 960px){.grid.responsive-two{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1200px){.grid.metrics{grid-template-columns:repeat(4,minmax(200px,1fr))}}@media (max-width: 900px){.grid.two{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (max-width: 768px){.grid.two,.grid.three,.grid.metrics{grid-template-columns:minmax(0,1fr)}.table-responsive{display:none}.timesheet-card-list{display:flex}}.stat-chip{padding:.75rem 1rem;border-radius:14px;background:var(--surface-muted);display:flex;flex-direction:column;gap:.35rem}.stat-chip strong{font-size:1.1rem;color:var(--brand-primary)}.tag{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:999px;font-size:.75rem;background:#00a6a61a;color:var(--brand-secondary)}.tag.neutral{background:#0f172a14;color:var(--text-secondary)}.tag.success{background:#3aaf6526;color:var(--success)}.tag.warning{background:#f3a7122e;color:var(--warning)}.tag.danger{background:#d143432e;color:var(--danger)}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table thead{color:var(--text-muted);text-align:left}.table th,.table td{padding:.65rem .5rem;border-bottom:1px solid var(--border-color)}.table tbody tr:hover{background:#003b7014}.table-responsive{overflow-x:auto;width:100%}.timesheet-card-list{display:none;flex-direction:column;gap:.85rem}.timesheet-card{border-radius:14px;background:var(--surface-muted);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.45rem}.timesheet-card-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.timesheet-card-date{font-size:.85rem;color:var(--text-muted)}.timesheet-card-employee{font-size:.85rem;color:var(--text-secondary)}.timesheet-card-footer{display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--brand-primary)}.timesheet-card-notes{font-size:.75rem;color:var(--text-secondary)}.profile-header{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.profile-avatar{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.4rem;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-header-info{display:flex;flex-direction:column;gap:.3rem;min-width:200px}.profile-avatar-actions{display:flex;gap:.5rem;flex-wrap:wrap}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.theme-option{display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;border-radius:12px;background:var(--surface-muted);border:1px solid transparent;cursor:pointer}.theme-option input{width:18px;height:18px}.theme-option:hover{border-color:#003b702e}.theme-option input:checked+span{font-weight:600;color:var(--brand-primary)}.pill-button{border:none;border-radius:999px;padding:.5rem .95rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem}.pill-button.primary{background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff}.pill-button.secondary{background:var(--surface-muted);color:var(--brand-primary)}.form-grid{display:grid;gap:1rem}.calendar{display:flex;flex-direction:column;gap:.75rem}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-weight:600;color:var(--brand-primary)}.calendar-header button{border:none;background:var(--surface-muted);color:var(--brand-primary);border-radius:999px;width:32px;height:32px;display:grid;place-items:center;cursor:pointer;font-size:1.1rem}.calendar-title{text-transform:capitalize}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:.75rem;color:var(--text-muted);gap:.4rem;padding:0 .25rem}.calendar-weekdays span{text-align:center}.calendar-grid{display:grid;gap:.35rem}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.calendar-day{border:none;background:var(--surface-muted);border-radius:12px;padding:.6rem .45rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;cursor:pointer;color:var(--text-secondary);min-height:68px;transition:transform .15s ease,box-shadow .15s ease}.calendar-day:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.calendar-day--muted{opacity:.45}.calendar-day--today{border:1px solid rgba(0,59,112,.35)}.calendar-day--selected{background:linear-gradient(135deg,#003b701f,#00a6a640);color:var(--brand-primary);font-weight:600}.calendar-day-dot{min-width:22px;padding:.1rem .45rem;border-radius:999px;background:var(--brand-primary);color:#fff;font-size:.7rem}@media (min-width: 640px){.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}label{font-size:.8rem;color:var(--text-muted);display:block;margin-bottom:.35rem}input,select,textarea{width:100%;border:1px solid var(--border-color);border-radius:12px;padding:.65rem .75rem;background:#fff;color:var(--text-primary)}input:focus,select:focus,textarea:focus{outline:2px solid rgba(0,59,112,.35);border-color:transparent}
