/* Finalmente Libri — Brand guideline 2026. Loghi originali, senza ricolorazioni. */
@font-face{font-family:Lato;src:url('fonts/lato/Lato-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('fonts/lato/Lato-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('fonts/lato/Lato-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('fonts/lato/Lato-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
:root{
    --brand-black:#000;--brand-gold:#ba8226;--brand-green:#0d3425;
    --brand-brown:#321a0f;--brand-warm-gray:#b2a491;--brand-earth:#604e3f;
    --brand-sand:#d5c8b0;--brand-cream:#ede3d2;
    --ink:var(--brand-black);--muted:var(--brand-earth);--green:var(--brand-green);
    --light-green:var(--brand-cream);--amber:var(--brand-gold);
    --paper:#faf8f4;--surface-subtle:#f6f2ea;--line:#e4daca;
    --sans:Lato,'Helvetica Neue',Arial,sans-serif;--display:var(--sans);
}
body{font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1{font-size:36px;font-weight:700;letter-spacing:-.8px}
h2{font-size:24px;font-weight:600;letter-spacing:-.4px}
h3{font-weight:600}.eyebrow{color:var(--brand-earth);font-weight:700}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--brand-gold);outline-offset:4px}
input:focus,select:focus,textarea:focus{border-color:var(--brand-green);outline:2px solid var(--brand-sand)}
.sidebar{width:260px;padding:22px 16px 20px;background:#fff;border-right:1px solid var(--line)}
.brand-link{display:block}.brand{display:block;padding:16px;font:inherit;letter-spacing:normal}
.brand-logo{display:block;width:196px;min-width:150px;max-width:100%;height:auto;object-fit:contain}
.brand-caption{font:600 9px/1.4 var(--sans);color:var(--muted);letter-spacing:1.8px;text-transform:uppercase;margin-top:18px}
.workspace{background:var(--paper);margin:16px 2px 26px;border-color:var(--line);border-radius:5px;padding:14px 12px;font-size:13px;gap:12px}
.workspace-icon{width:30px;height:30px;object-fit:contain;flex-shrink:0}
.workspace small,.sidebar-bottom small{font-size:11px;color:var(--muted)}
.nav-label{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1.5px}
.nav-link{font-size:13px;color:var(--brand-earth);padding:11px 14px;border-radius:5px;min-height:44px}
.nav-link:hover{background:var(--surface-subtle);color:var(--brand-black)}
.nav-link.active{background:var(--brand-green);color:#fff;box-shadow:inset 3px 0 var(--brand-gold);font-weight:700}
.nav-link.active:after{background:var(--brand-gold)}
.sidebar-bottom{font-size:13px}.avatar{background:var(--brand-cream);color:var(--brand-brown)}
.avatar.dark{background:var(--brand-green);color:#fff}.icon-button{color:var(--brand-earth);min-width:36px;min-height:36px}
.app-shell{margin-left:260px}.topbar{height:72px;background:#fff;font-size:12px}.status-dot{background:var(--brand-green)}
main{padding-top:32px}.page-heading{margin-bottom:28px}.page-heading .eyebrow{font-size:10px;margin-bottom:9px}
.button{font-size:13px;font-weight:700;min-height:44px;border-radius:4px;padding:11px 18px}
.button:hover{filter:none;background:var(--brand-brown);border-color:var(--brand-brown)}
.button.secondary{border-color:var(--brand-sand);background:#fff;color:var(--brand-green)}
.button.secondary:hover{background:var(--surface-subtle);border-color:var(--brand-earth)}
.button.compact{min-height:38px}.text-link,.panel-footer a{color:var(--brand-green)}
.text-link:hover,.panel-footer a:hover{text-decoration:underline;text-underline-offset:3px}
.panel,.stat,.book-card{border-radius:7px}.panel-heading h2,.section-heading h2{font-weight:700;font-size:21px}
.welcome{background:var(--brand-green);border:0;border-radius:7px;color:#fff;padding:34px 38px;min-height:230px}
.welcome h2{font-family:var(--display);font-size:35px;font-weight:600;letter-spacing:-.7px;line-height:1.18}
.welcome .eyebrow{color:var(--brand-sand)}.welcome p{color:var(--brand-cream);font-size:13px}
.welcome-art{display:flex;justify-content:center;align-items:center;width:220px;margin:0 18px;transform:none}
.welcome-art img{display:block;width:155px;height:155px;object-fit:contain}
.stats{gap:16px}.stat{padding:22px;border-top:3px solid var(--brand-sand)}
.stat>span{font-size:12px}.stat strong{font-family:var(--display);font-size:32px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.7px}
.stat small{font-size:11px}.stat.featured{background:var(--brand-brown);border-color:var(--brand-brown);border-top-color:var(--brand-gold)}
.stat.featured span,.stat.featured small,.stat.featured .icon{color:var(--brand-cream)}
.stat strong.no-data{font-family:var(--display);font-weight:600;font-size:20px}
.task-row{font-size:13px}.task-row strong{font-weight:600}.row-meta{font-size:11px}
.badge{font-size:11px;border-radius:4px;background:var(--surface-subtle);color:var(--brand-earth)}
.badge.green{background:var(--brand-green);color:#fff}.badge.amber{background:var(--brand-cream);color:var(--brand-brown)}
.badge.red{background:#fbede7;color:#903e2a}.count{background:var(--brand-cream);color:var(--brand-brown)}
.attention{background:#fff}.attention-mark{border-color:var(--brand-gold);color:var(--brand-brown)}
.alert-symbol{background:var(--brand-cream);color:var(--brand-brown)}
.alert-item strong{font-size:13px}.alert-item p,.alert-item small{font-size:11px;color:var(--muted)}
.date-tile{background:var(--brand-cream);color:var(--brand-brown);font-family:var(--display);font-weight:600}
.date-tile small{display:block}.upcoming-row{font-size:13px}.upcoming-row small{font-size:11px}
.data-note{background:var(--brand-cream);border:1px solid var(--brand-sand);border-top:3px solid var(--brand-gold)}
.data-note h2{font-size:29px;font-weight:600}.data-note p{font-size:13px;max-width:440px}.data-note>.icon{color:var(--brand-brown)}
.data-note .eyebrow{font-size:10px}.page-footer{font-size:10px;color:var(--muted)}
.form-panel summary{font-size:14px;font-weight:600}.field{font-size:12px;color:var(--brand-earth)}
.field>span{font-weight:600}.required{color:var(--brand-brown)}
input,select,textarea{border-color:var(--brand-warm-gray);border-radius:4px;min-height:42px;color:var(--brand-black)}
input[type=checkbox]{min-height:0}input[type=checkbox]:focus-visible{outline:2px solid var(--brand-green)}
input::placeholder,textarea::placeholder{color:var(--brand-earth);opacity:1}
.form-section{font-size:13px}.checkbox{font-size:13px}.intro{font-size:14px}
.notice{background:var(--surface-subtle);border-color:var(--brand-sand);color:var(--brand-brown);font-size:13px}
.notice.warning{background:var(--brand-cream);border-color:var(--brand-sand);border-left:3px solid var(--brand-gold);color:var(--brand-brown)}
.notice.success{background:var(--surface-subtle);border-left:3px solid var(--brand-green);color:var(--brand-green)}
.notice.danger{color:#903e2a;border-left:3px solid #903e2a}
th{background:var(--surface-subtle);color:var(--brand-earth);font-size:11px}td{font-size:13px}td small{font-size:11px;color:var(--muted)}
.empty{color:var(--muted)}.empty p{font-size:13px}.empty>.icon{color:var(--brand-gold)}
.cover-0{background:var(--brand-cream);color:var(--brand-black)}
.cover-1{background:var(--brand-brown);color:#fff}.cover-2{background:var(--brand-sand);color:var(--brand-black)}
.cover-3{background:var(--brand-green);color:#fff}.cover-4{background:var(--brand-warm-gray);color:var(--brand-black)}
.cover h2{font-size:23px;font-weight:600}.cover-imprint{padding-top:16px}.cover-imprint img{display:block;width:30px;height:30px;object-fit:contain}
.book-info h3{font-family:var(--sans);font-weight:600}.book-info>small{color:var(--muted)}
.forecast strong{font-family:var(--sans);font-weight:600}.entry>summary{font-size:14px}.entry summary small{font-size:11px}
.onboarding-banner{background:var(--brand-cream);border-color:var(--brand-sand);border-left:3px solid var(--brand-gold);border-radius:7px}
.onboarding-banner strong{font-family:var(--sans);font-weight:600;font-size:23px}.onboarding-banner p{font-size:13px}
.onboarding-overview{background:var(--brand-cream);border-color:var(--brand-sand);border-top:3px solid var(--brand-gold)}
.onboarding-overview h2{font-size:28px;font-weight:600}.onboarding-overview p{color:var(--brand-earth);font-size:13px}
.plan-progress>strong{font-family:var(--sans);font-weight:600}.plan-progress strong span{color:var(--brand-earth)}
progress::-webkit-progress-bar{background:var(--brand-sand)}progress::-webkit-progress-value{background:var(--brand-green)}
.view-toggle a{font-size:13px;font-weight:600}.view-toggle a.selected{background:var(--brand-green)}
.month-table td.is-today{background:var(--brand-cream);box-shadow:inset 0 0 0 2px var(--brand-gold)}
.calendar-event{background:var(--surface-subtle);border-left:2px solid var(--brand-gold);font-size:11px;color:var(--brand-black)}
.calendar-event span{font-size:10px;color:var(--brand-earth)}.calendar-legend{font-size:11px}
.agenda-day-heading h2{font-size:23px;font-weight:600}.agenda-day-heading p{font-size:12px}
.plan-task h3{font-size:15px;font-weight:600}.plan-task .eyebrow{font-size:9px}.plan-task-status small{font-size:10px;color:var(--muted)}
.plan-task>summary:hover{background:var(--surface-subtle)}.plan-task.completed-task>summary{background:var(--surface-subtle)}
.reschedule>summary{color:var(--brand-green);font-size:13px}.task-number{color:var(--brand-earth)}
/* Le aree libere intorno ai loghi rispettano almeno 1X della guideline. */
.login-page{grid-template-columns:1fr 1fr;background:var(--paper)}
.login-card{width:100%;max-width:590px;padding:48px 60px}
.login-card .brand{padding:18px 0;margin:0 0 54px}.login-card .brand-logo{width:230px}
.login-card .brand-caption{margin-top:20px}.login-card h1{font-size:39px;font-weight:600;line-height:1.2;letter-spacing:-.8px}
.login-card>.muted{font-size:14px}.login-card .small{font-size:12px}
.login-art{background:var(--brand-green);color:#fff;align-items:center;justify-content:center;text-align:center;padding:64px}
.login-emblem{padding:56px;max-width:440px;width:100%}.login-emblem img{display:block;width:100%;height:auto;object-fit:contain;min-height:100px}
.login-art-rule{width:54px;height:2px;background:var(--brand-gold);margin:28px 0}
.login-art>p{font-size:25px;line-height:1.4;font-weight:400;letter-spacing:-.3px;margin:0 0 25px}
.login-art-caption{font-size:10px;letter-spacing:2px;color:var(--brand-sand)}
.error-page{min-height:100vh;display:grid;place-items:center}.error-page .login-card{margin:0}.error-page h1{margin-bottom:20px}
@media(min-width:1600px){.welcome-art{margin-right:54px}.welcome h2{font-size:39px}.stat strong{font-size:35px}}
@media(max-width:1200px){.sidebar{width:232px;padding:20px 12px}.brand{padding:15px}.brand-logo{width:178px}.app-shell{margin-left:232px}.nav-link{font-size:12px;gap:11px;padding:10px 12px}.stat{padding:18px}.stat>span{font-size:11px}.stat strong{font-size:29px}.stat strong.no-data{font-size:18px}.welcome-art{width:180px;margin:0}.login-card{padding:40px}.login-art{padding:35px}.login-emblem{padding:40px}}
@media(max-width:960px){.welcome-art{transform:none;width:140px}.welcome-art img{width:120px;height:120px}.welcome h2{font-size:30px}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-card{max-width:520px;padding:40px}.login-card .brand{margin-bottom:40px}}
@media(max-width:680px){
    .sidebar{position:relative;width:100%;padding:13px 17px 10px}.app-shell{margin-left:0}
    .sidebar .brand{padding:14px 14px 12px;width:208px}.sidebar .brand-logo{width:180px;min-width:150px}
    .sidebar .brand-caption{font-size:8px;margin-top:15px;letter-spacing:1.4px}
    .sidebar-bottom{right:18px;top:31px}.sidebar nav{padding-top:12px;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:var(--brand-sand) transparent}
    .nav-link{font-size:12px;padding:9px 13px;min-height:42px}.sidebar .nav-link.active{box-shadow:inset 0 -3px var(--brand-gold)}
    .topbar{height:50px;font-size:11px}.top-actions{font-size:10px}main{padding:25px 17px}
    h1{font-size:31px}.page-heading .eyebrow{font-size:9px;letter-spacing:1.3px}.page-heading{margin-bottom:23px}
    .welcome{padding:25px;min-height:210px;gap:10px}.welcome h2{font-size:27px}.welcome p{font-size:12px}
    .welcome-art{width:64px;margin:0;transform:none}.welcome-art img{width:60px;height:60px}
    .stat{padding:16px;min-height:135px}.stat>span{font-size:11px}.stat strong{font-size:27px}.stat strong.no-data{font-size:17px}.stat small{font-size:10px}
    .section-heading .small{font-size:10px}.task-row strong{font-size:12px}.row-meta{font-size:10px}.task-row{flex-wrap:wrap}.task-row .grow{min-width:160px}
    .panel-heading h2{font-size:20px}.data-note h2{font-size:27px}.page-footer{font-size:10px}
    .onboarding-banner strong{font-size:21px}.onboarding-overview h2{font-size:25px}.plan-progress>strong{font-size:33px}
    .agenda-day-heading h2{font-size:19px}.agenda-day-heading p{font-size:11px}.plan-task h3{font-size:14px}.plan-task .grow{min-width:0;flex-basis:calc(100% - 42px)}
    .calendar-toolbar .inline-form{width:100%}.view-toggle{width:100%}.plan-task-status{margin-left:32px}
    .login-card{padding:30px 26px}.login-card .brand{padding:18px 0;margin-bottom:33px}.login-card .brand-logo{width:212px}
    .login-card h1{font-size:33px}.login-card>.muted{font-size:13px}.login-card form{margin-top:26px}
}
@media print{body{color:#000}.welcome,.stat.featured,.data-note,.onboarding-overview{background:#fff!important;color:#000!important}.welcome p,.welcome .eyebrow,.stat.featured small,.stat.featured span{color:#000!important}.welcome-art{display:none}.stat,.panel{border:1px solid #ccc}.brand-logo{width:196px}}
