:root{--paper:#f8f7f2;--surface:#fff;--forest:#173b32;--forest-hover:#245345;--ink:#243a32;--muted:#707970;--border:#e2e5da;--pale:#edf2e8;--lime:#dce9bc;--amber:#a36b2b;--danger:#a43e36;--radius:16px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #91ae68;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #7c9864;outline-offset:1px;border-color:#7c9864}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2;font-weight:600;letter-spacing:-.035em}h1{font-size:clamp(2rem,3.5vw,2.65rem);margin-bottom:12px}h2{font-size:1.35rem;margin-bottom:10px}h3{font-size:1.08rem;margin-bottom:10px}p{margin-bottom:14px}strong{font-weight:600}.muted{color:var(--muted)}.small{font-size:.82rem}.eyebrow{font-size:.66rem;font-weight:700;letter-spacing:.16em;color:#788568;margin-bottom:13px}.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.icon-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:1.55rem;font-weight:650;letter-spacing:-.06em;line-height:1.1}.brand-logo{width:43px;height:43px;flex:none;fill:currentColor}.brand-sub{display:block;font-size:.65rem;font-weight:500;letter-spacing:.1em;margin-top:6px;text-transform:uppercase;opacity:.66}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:1px solid transparent;border-radius:9px;padding:11px 17px;font-weight:600;font-size:.85rem;min-height:44px;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s}.button .icon{width:17px;height:17px}.primary{background:var(--forest);color:#fff}.primary:hover{background:var(--forest-hover)}.secondary{background:var(--surface);border-color:var(--border);color:var(--forest)}.secondary:hover{background:var(--pale);border-color:#c8d2bc}.danger{color:#fff;background:var(--danger)}.danger:hover{background:#8a332b}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:0;color:var(--forest);font-size:.82rem;font-weight:600;padding:8px 0;white-space:nowrap}.text-button:hover{text-decoration:underline}.text-button .icon{width:16px;height:16px}.danger-text{color:var(--danger)}.full-width{width:100%}.icon-button{width:35px;height:35px;border:1px solid transparent;background:transparent;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.icon-button:hover{background:var(--pale);color:var(--forest)}.icon-button .icon{width:18px;height:18px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:30px;padding:4px 9px;font-size:.65rem;font-weight:600;white-space:nowrap;line-height:1.4}.neutral{color:#68705c;background:#edf0e7}.good{color:#38633d;background:#eaf3e4}.pending{color:#865c20;background:#fbf0d7}.bad{color:#9b4335;background:#fcebe6}.status-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:currentColor;flex:none}
/* Connexion */
.login-layout{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}.login-story{padding:43px 9%;background:var(--forest);color:#f3f4e7;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-story .brand-logo{--logo-ink:var(--forest);color:#e0e9c9}.login-story .brand-sub{opacity:.7}.login-story-content{padding:90px 0 65px;max-width:500px;margin:auto 0}.login-story .eyebrow{color:#b3c69b}.login-story h1{font-size:clamp(2.5rem,4.4vw,4.4rem);font-weight:450;letter-spacing:-.065em;line-height:1.08;margin-bottom:30px}.login-story-content>p:not(.eyebrow){font-size:.97rem;line-height:1.8;max-width:345px;color:#b7c8b7}.story-line{display:flex;gap:10px;align-items:center;font-size:.74rem;margin-top:36px;color:#d8e4c4}.story-footer{font-size:.68rem;color:#a7b9a6;letter-spacing:.03em}.login-form-area{display:flex;justify-content:center;align-items:center;padding:60px 10%}.login-form{width:100%;max-width:360px}.login-lock{display:flex;width:50px;height:50px;background:#e8eedb;align-items:center;justify-content:center;color:var(--forest);border-radius:14px;margin-bottom:32px}.login-lock .icon{width:23px;height:23px}.login-form h2{font-size:1.8rem}.login-form>.muted{font-size:.9rem;margin-bottom:35px}.login-form label{display:block;font-size:.8rem;font-weight:600;margin-bottom:8px}.login-form input{width:100%;margin-bottom:18px}.login-footnote{font-size:.72rem;color:#7d8277;line-height:1.65;margin:23px 0 0}.initial-loading{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;color:var(--forest);padding:30px;text-align:center}.initial-loading p{font-size:.86rem;margin:0}.initial-loading .brand-logo{width:50px;height:50px}.noscript{position:fixed;inset:0;background:var(--paper);display:flex;align-items:center;justify-content:center;padding:35px}
/* Structure */
.app-layout{min-height:100svh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{background:#f0f1e9;border-right:1px solid var(--border);padding:35px 23px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100svh}.sidebar .brand{margin:0 8px 60px}.sidebar .brand-logo{width:38px;height:38px}.sidebar .brand{font-size:1.37rem}.nav-caption{font-size:.58rem;letter-spacing:.16em;font-weight:700;color:#9a9f91;margin:0 12px 13px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;border-radius:9px;text-align:left;padding:12px 14px;color:#6e776b;font-weight:500;font-size:.83rem;min-height:45px}.nav-item:hover{background:#e8ecdf;color:var(--forest)}.nav-item.active{background:var(--forest);color:#f4f6e9}.nav-item .icon{width:18px;height:18px}.nav-count{margin-left:auto;font-size:.65rem;border-radius:4px;background:#dfe4d5;color:#707e66;min-width:21px;padding:1px 5px;text-align:center}.nav-item.active .nav-count{color:#d9e6cb;background:#315348}.sidebar-bottom{margin-top:auto;padding-top:70px}.cloud-note{display:flex;gap:10px;align-items:flex-start;background:#e6eadc;border-radius:10px;padding:14px 12px;color:#5d7357}.cloud-note .icon{width:19px;height:19px;margin-top:1px}.cloud-note strong{font-size:.7rem;display:block}.cloud-note span{font-size:.62rem;display:block;margin-top:3px;color:#7b8572;white-space:nowrap}.logout-button{display:flex;align-items:center;gap:10px;background:none;border:0;padding:25px 12px 0;font-size:.73rem;color:#7c8276}.logout-button .icon{width:16px;height:16px}.logout-button:hover{color:var(--forest)}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{min-height:76px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 45px;gap:20px}.breadcrumb{font-size:.73rem;color:#8a9083;display:flex;align-items:center;gap:13px}.breadcrumb span{color:#c3c8bb}.breadcrumb strong{color:#57634f;font-weight:500}.refresh-area{display:flex;align-items:center;gap:10px}.refresh-status{font-size:.65rem;color:#8a927f}.refresh-status.stale{color:var(--amber)}.main-content{padding:47px 45px 32px;width:100%;max-width:1360px;flex:1;margin:0 auto}.page-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:31px}.page-heading>div{max-width:620px}.page-heading p:not(.eyebrow){font-size:.82rem;color:#818777;margin-bottom:0}.page-heading .eyebrow{margin-bottom:13px}.page-heading>.button{margin-top:16px}.workspace-footer{display:flex;justify-content:space-between;gap:15px;padding:20px 45px;border-top:1px solid var(--border);font-size:.61rem;color:#9a9f90}.workspace-footer>span:first-child{font-weight:600;color:#7d8870}.notice{border-radius:10px;padding:15px 18px;font-size:.8rem;line-height:1.65;margin-bottom:25px;display:flex;align-items:flex-start;gap:12px}.notice p:last-child{margin-bottom:0}.notice .icon{margin-top:2px;width:18px;height:18px}.info{background:#edf1e6;color:#65755b;border:1px solid #e1e8d7}.warning{background:#fff2dc;color:#8b6531;border:1px solid #f1dfb9}.notice:not([hidden])+.page{margin-top:8px}
/* Bibliothèque */
.library-banner{display:flex;align-items:center;gap:21px;border:1px solid #e0e7d4;background:#edf1e4;border-radius:var(--radius);padding:26px 28px;margin-bottom:34px}.banner-art{display:flex;align-items:center;justify-content:center;flex:none;color:#597249;width:64px;height:68px;transform:rotate(-6deg)}.banner-art svg{width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.library-banner h2{font-size:1.1rem;letter-spacing:-.025em;margin-bottom:7px}.library-banner p{max-width:470px;font-size:.76rem;color:#7b866e;margin:0;line-height:1.7}.library-banner .text-button{margin-left:auto;font-size:.73rem}.section-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:19px}.section-title{display:flex;align-items:center;gap:12px}.section-bar h2{font-size:1.1rem;margin:0;letter-spacing:-.03em}.section-bar .eyebrow{margin-bottom:8px}.section-bar .small{font-size:.65rem}.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.content-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:23px 22px 0;display:flex;flex-direction:column;min-height:240px;min-width:0;transition:border-color .15s}.content-card:hover{border-color:#b9c8ab}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:21px}.content-icon{background:#eef2e6;color:#63764f;border-radius:10px;width:43px;height:45px;display:flex;align-items:center;justify-content:center}.content-icon .icon{width:24px;height:24px;stroke-width:1.4}.content-icon.briefing{background:#f3ecda;color:#a08850}.content-icon.notes{background:#e9eeec;color:#66827b}.content-icon.checklist{background:#eef0e2;color:#7a8a50}.content-card h3{font-size:1.08rem;overflow-wrap:anywhere;margin-bottom:8px}.content-card .card-description{font-size:.76rem;line-height:1.65;color:#8a8e80;margin-bottom:22px}.card-bottom{margin-top:auto;border-top:1px solid #eff0e9;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 0}.card-meta{font-size:.63rem;color:#99a08e}.card-bottom .text-button{font-size:.72rem;padding:5px 0}.card-bottom .icon-button{width:28px;height:28px}.card-bottom .icon-button .icon{width:15px;height:15px}.card-buttons{display:flex;align-items:center;gap:8px}.card-overflow{position:relative}.card-menu{position:absolute;right:0;top:32px;background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:150px;padding:5px;z-index:2;box-shadow:0 8px 22px #173b3210}.card-menu button,.card-menu a{display:block;padding:9px 11px;width:100%;text-align:left;background:none;border:0;text-decoration:none;border-radius:6px;font-size:.72rem;white-space:nowrap}.card-menu button:hover,.card-menu a:hover{background:var(--pale)}.card-menu button.danger-text:hover{background:#fbeeea}.quiet-note{display:flex;justify-content:center;align-items:center;gap:9px;color:#96a087;margin:28px 0 0}.quiet-note .icon{width:15px;height:15px}.quiet-note p{font-size:.65rem;margin:0}.empty-state{background:#fdfdf8;border:1px dashed #d9dfcd;border-radius:var(--radius);padding:48px 20px;text-align:center}.empty-icon{display:inline-flex;justify-content:center;align-items:center;width:57px;height:57px;border-radius:14px;background:var(--pale);color:#84966e;margin-bottom:18px}.empty-icon .icon{width:28px;height:28px;stroke-width:1.3}.empty-state h3{font-size:1.25rem}.empty-state p{font-size:.8rem;color:#8a927e;line-height:1.8;margin-bottom:22px}
/* Liseuses et commandes */
.device-list{display:flex;flex-direction:column;gap:14px;margin-bottom:35px}.device-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;display:flex;align-items:center;gap:20px}.device-illustration{height:70px;width:53px;background:#f1f2e9;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#708163;flex:none}.device-illustration .icon{height:48px;width:38px;stroke-width:1.1}.device-details{min-width:0;flex:1}.device-title{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:9px}.device-title h3{margin:0;overflow-wrap:anywhere}.device-details p{font-size:.73rem;color:#8a927f;margin:0}.device-details .contact-time{margin-top:3px;font-size:.65rem;color:#a0a592}.device-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.device-actions .text-button{font-size:.7rem}.device-card.revoked{opacity:.72;background:#f5f5ef}.command-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:26px}.command-panel>.muted{font-size:.76rem;line-height:1.7;max-width:750px}.command-form{display:flex;align-items:flex-end;gap:13px;flex-wrap:wrap;margin:22px 0}.command-form .field{flex:1;min-width:170px;margin:0}.command-form .button{min-height:43px}.command-history{border-top:1px solid var(--border);padding-top:23px;margin-top:27px}.command-history h3{font-size:.85rem;margin-bottom:14px}.command-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #eff0e9}.command-row:last-child{border:0}.command-row-title{font-size:.77rem;font-weight:500;overflow-wrap:anywhere}.command-row-details{font-size:.66rem;color:#9aa18d;margin-top:3px}.command-row-meta{display:flex;align-items:center;gap:12px;flex:none}.command-time{font-size:.63rem;color:#98a18b}.command-panel>.small{font-size:.65rem;margin:17px 0 0}.command-none{font-size:.76rem;color:#939b86;padding:9px 0}
/* Guide */
.guide-intro{display:flex;gap:25px;align-items:center;background:#eaf0df;border:1px solid #e0e6d6;padding:29px;border-radius:var(--radius);margin-bottom:36px}.guide-logo{width:64px;height:64px;flex:none;color:var(--forest);--logo-ink:#f0f3e6}.guide-intro h2{font-size:1.2rem}.guide-intro p{color:#7a876c;font-size:.8rem;max-width:660px;margin:0;line-height:1.8}.guide-steps{max-width:850px}.guide-steps article{display:flex;gap:27px;padding:24px 0;border-bottom:1px solid var(--border)}.guide-steps article:last-child{border-bottom:0}.step-number{flex:none;font-size:.7rem;font-weight:600;color:#96a47f;border:1px solid #dbe2cf;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin-top:2px}.guide-steps h2{font-size:1rem}.guide-steps p{font-size:.8rem;line-height:1.85;color:#7d8872;margin:0 0 10px}.guide-steps p:last-child{margin-bottom:0}kbd{font-family:inherit;display:inline-block;padding:0 5px;border:1px solid #d7decb;background:#f1f4e9;border-radius:4px;font-size:.7rem;line-height:1.6}.guide-faq{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:25px 27px;margin-top:30px}.guide-faq h2{font-size:1.1rem;margin-bottom:20px}.guide-faq details{border-top:1px solid #edf0e5;padding:15px 0}.guide-faq details:last-child{padding-bottom:0}.guide-faq summary{font-size:.8rem;cursor:pointer;font-weight:500}.guide-faq details p{font-size:.77rem;color:#7d8872;line-height:1.85;margin:12px 0 0}
/* Formulaires et fenêtres */
input,select,textarea{width:100%;background:#fff;border:1px solid #d9dfcf;color:var(--ink);border-radius:8px;padding:10px 12px;font-size:.85rem;line-height:1.5;min-height:43px}textarea{resize:vertical;min-height:120px}input::placeholder,textarea::placeholder{color:#acb2a0}input[readonly]{background:#f4f5ee;color:#919982}.field{margin-bottom:21px}.field label{display:block;font-size:.75rem;font-weight:600;margin-bottom:7px}.field-help{font-size:.68rem;color:#939d83;margin:8px 0 0;line-height:1.7}.form-error{font-size:.77rem;color:var(--danger);background:#fff1eb;padding:11px 13px;border:1px solid #f2ddd2;border-radius:8px;line-height:1.65;overflow-wrap:anywhere}.modal{border:1px solid var(--border);border-radius:18px;background:var(--surface);padding:0;width:min(540px,calc(100% - 32px));color:var(--ink);max-height:calc(100svh - 44px);overflow:auto;box-shadow:0 25px 100px #0a291b35}.modal::backdrop{background:#142d2370;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:27px 28px 20px;border-bottom:1px solid #e9eddf}.modal-heading h2{font-size:1.35rem;margin:0;letter-spacing:-.035em}.modal-heading .eyebrow{font-size:.59rem;margin-bottom:9px}.modal-heading .icon-button{margin:-5px -6px 0 0}.modal-body{padding:24px 28px}.modal-body>p{font-size:.82rem;line-height:1.8}.modal-body .notice{font-size:.73rem;margin:20px 0}.modal-body .notice p{margin:0}.modal-body .field:last-child{margin-bottom:0}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;border-top:1px solid #e9eddf;background:#fafbf6;padding:17px 28px;border-radius:0 0 18px 18px}.modal-footer .button{font-size:.76rem;padding:10px 14px}.modal-footer .text-button{font-size:.7rem;margin-right:auto}.editor-modal{width:min(640px,calc(100% - 32px))}.advanced-fields{border:1px solid #e5e9dc;border-radius:8px;padding:11px 13px;margin-top:8px}.advanced-fields summary{font-size:.71rem;cursor:pointer;color:#89977b}.advanced-fields .field{margin:15px 0 2px}.file-input-wrap{border:1px dashed #ccd8be;border-radius:10px;padding:21px;background:#f8faf4;text-align:center}.file-input-wrap>.icon{margin-bottom:14px;color:#8a9b77}.file-input-wrap input{font-size:.75rem;background:#fff}.file-input-wrap p{font-size:.68rem;color:#97a287;margin:12px 0 0}.file-input-wrap input::file-selector-button{background:var(--pale);border:1px solid var(--border);border-radius:5px;padding:5px 9px;color:#647855;font:inherit;margin-right:10px;cursor:pointer}.pairing-success{display:flex;align-items:center;gap:12px;padding:15px 18px;background:var(--pale);border-radius:10px;margin-bottom:22px}.pairing-success .icon{color:#6e8758;width:25px;height:25px}.pairing-success strong{font-size:.95rem;overflow-wrap:anywhere}.download-note{font-size:.7rem!important;color:#6e8852!important;text-align:center;margin:14px 0 0}.confirm-modal{max-width:440px}.confirm-modal .modal-heading{padding-bottom:19px}.confirm-modal .modal-body p{margin:0;white-space:pre-line}.toast{position:fixed;bottom:26px;left:calc(50% + 119px);transform:translateX(-50%);background:var(--forest);color:#f4f7eb;padding:13px 22px;border-radius:10px;box-shadow:0 8px 30px #173b3220;max-width:min(550px,calc(100% - 40px));font-size:.8rem;z-index:20}.toast.error{background:#9b4434}
@media(min-width:1500px){.main-content{padding-top:57px}.content-grid{gap:22px}.content-card{min-height:260px;padding:27px 26px 0}.library-banner{padding:30px}.page-heading{margin-bottom:39px}}
@media(max-width:1170px){.app-layout{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding-left:16px;padding-right:16px}.sidebar .brand{margin-left:7px}.main-content{padding:35px 28px}.topbar{padding:0 28px}.workspace-footer{padding-left:28px;padding-right:28px}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-banner{padding:21px;gap:15px;flex-wrap:wrap}.library-banner>div:nth-child(2){flex:1}.library-banner .text-button{margin-left:79px}.banner-art{width:49px;height:54px}.banner-art svg{width:46px;height:46px}.page-heading{gap:20px}.page-heading>.button{font-size:.75rem;padding:10px 12px}.toast{left:calc(50% + 105px)}.device-card{gap:16px;flex-wrap:wrap}.device-actions{width:100%;justify-content:flex-start;margin-left:69px}}
@media(max-width:850px){.app-layout{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:22px 24px 0;border-right:0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:23px}.sidebar .brand{margin:0;font-size:1.3rem}.sidebar .brand-logo{width:36px;height:36px}.sidebar .brand-sub{font-size:.55rem}.nav-caption,.cloud-note{display:none}.sidebar nav{flex-direction:row;grid-column:1/-1;grid-row:2;gap:8px;margin-bottom:-1px}.nav-item{width:auto;padding:12px 14px;border-radius:8px 8px 0 0;font-size:.75rem;min-height:43px}.nav-item.active{color:var(--forest);background:#dfe7d3;box-shadow:inset 0 -2px 0 var(--forest)}.nav-item.active .nav-count{background:#cbd8b9;color:#677c52}.nav-count{min-width:18px;font-size:.57rem}.sidebar-bottom{padding:0;margin:0;display:flex;align-items:center;grid-column:2;grid-row:1}.logout-button{font-size:.67rem;padding:6px 0}.topbar{min-height:54px;padding:0 24px}.main-content{padding:33px 24px}.workspace-footer{padding:20px 24px}.toast{left:50%}.login-story{padding:35px 9%}.login-story h1{font-size:2.7rem}.login-form-area{padding:55px 9%}.login-form h2{font-size:1.5rem}.login-story-content{padding:80px 0}.device-actions{margin-left:0}.command-form{gap:15px}.command-form .button{width:100%;max-width:150px}.guide-intro{padding:24px;gap:20px}}
@media(max-width:560px){.sidebar{padding:19px 18px 0;gap:21px}.nav-item{padding:11px 13px;gap:7px;font-size:.69rem;flex:1;justify-content:center}.nav-item .icon{width:16px;height:16px}.nav-count{display:none}.sidebar nav{gap:3px}.logout-button{font-size:0;gap:0;padding:8px}.logout-button .icon{width:20px;height:20px}.topbar{padding:0 19px}.breadcrumb{font-size:.64rem;gap:8px}.refresh-area{gap:2px}.refresh-status{font-size:.58rem}.main-content{padding:30px 19px}.page-heading{display:block;margin-bottom:25px}.page-heading h1{font-size:2rem}.page-heading p:not(.eyebrow){font-size:.78rem;line-height:1.8}.page-heading .eyebrow{font-size:.54rem;letter-spacing:.13em}.page-heading>.button{margin-top:22px;padding:11px 15px;font-size:.77rem}.library-banner{padding:22px 18px;gap:14px;margin-bottom:28px;align-items:flex-start}.banner-art{height:40px;width:36px;margin-top:4px}.banner-art svg{width:35px;height:35px}.library-banner h2{font-size:.96rem}.library-banner p{font-size:.7rem}.library-banner .text-button{margin-left:50px;margin-top:0;font-size:.68rem}.section-bar{gap:10px}.section-bar .small{font-size:.56rem}.section-bar h2{font-size:1rem}.section-title{gap:8px}.pill{font-size:.59rem}.content-grid{grid-template-columns:1fr;gap:14px}.content-card{padding:21px 22px 0;min-height:235px}.content-card .card-description{margin-bottom:23px}.content-card h3{font-size:1.15rem}.content-card .card-top{margin-bottom:19px}.quiet-note{align-items:flex-start;margin:24px 5px 0}.quiet-note p{font-size:.63rem;line-height:1.7}.quiet-note .icon{margin-top:2px}.workspace-footer{padding:18px 19px;font-size:.57rem;gap:16px}.workspace-footer>span:last-child{max-width:145px;text-align:right}.device-card{padding:21px 19px;gap:15px}.device-title{gap:8px}.device-title h3{font-size:1rem}.device-details p{font-size:.68rem}.device-details .contact-time{font-size:.59rem}.device-actions{gap:16px;border-top:1px solid #edf0e5;padding-top:13px}.device-actions .text-button{font-size:.63rem}.device-illustration{width:43px;height:59px}.device-illustration .icon{width:31px;height:39px}.command-panel{padding:23px 18px}.command-form .field{min-width:100%;width:100%}.command-form .button{max-width:none}.command-row{align-items:flex-start;gap:12px}.command-row-meta{flex-direction:column;align-items:flex-end;gap:5px}.command-row-title{font-size:.72rem}.command-row-details{font-size:.6rem}.command-time{font-size:.57rem}.notice{font-size:.72rem;padding:14px}.guide-intro{padding:22px 19px;align-items:flex-start;gap:15px}.guide-logo{width:42px;height:42px}.guide-intro h2{font-size:1rem}.guide-intro p{font-size:.74rem}.guide-steps article{gap:17px;padding:23px 0}.step-number{width:29px;height:29px;font-size:.6rem}.guide-steps h2{font-size:.94rem}.guide-steps p{font-size:.74rem}.guide-faq{padding:22px 19px}.guide-faq summary{font-size:.75rem}.guide-faq details p{font-size:.72rem}.login-layout{display:flex;flex-direction:column}.login-story{padding:26px 27px}.login-story-content{padding:38px 0 20px;margin:0}.login-story h1{font-size:2.4rem;line-height:1.05;margin-bottom:22px}.login-story-content>p:not(.eyebrow){font-size:.8rem;line-height:1.7;max-width:330px;margin-bottom:0}.story-line{margin-top:25px;font-size:.65rem}.story-footer{display:none}.login-story .brand-logo{width:36px;height:36px}.login-story .brand{font-size:1.3rem}.login-story .eyebrow{font-size:.55rem}.login-form-area{padding:40px 28px 45px}.login-form{max-width:none}.login-lock{display:none}.login-form h2{font-size:1.6rem}.login-form>.muted{font-size:.8rem;margin-bottom:26px}.login-form .eyebrow{font-size:.58rem}.modal{max-height:calc(100svh - 26px);width:calc(100% - 22px);border-radius:14px}.modal-heading{padding:23px 22px 18px}.modal-heading h2{font-size:1.17rem}.modal-body{padding:21px 22px}.modal-footer{padding:15px 20px;gap:9px;flex-wrap:wrap}.modal-footer .button{font-size:.7rem;padding:9px 12px}.modal-footer .text-button{font-size:.65rem}.editor-modal .modal-footer .button{flex:1}.toast{bottom:15px;width:calc(100% - 30px);font-size:.73rem;padding:13px 17px}.empty-state{padding:36px 18px}.empty-state p{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Mouvement discret, uniquement dans le compagnon web. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.button{transition:background 160ms,border-color 160ms,transform 160ms,opacity 160ms}
.button:active:not(:disabled){transform:translateY(1px) scale(.985)}
.icon-button{transition:background 160ms,color 160ms,transform 160ms}
.icon-button:active:not(:disabled){transform:scale(.92)}
.nav-item{transition:background 180ms,color 180ms,transform 180ms}
.nav-item .icon{transition:transform 180ms}
.nav-item.active .icon{transform:translateY(-1px)}
.text-button{transition:color 160ms,opacity 160ms}
.text-button .icon{transition:transform 180ms}
.text-button:hover .icon{transform:translateX(2px)}
.content-card{transition:border-color 180ms,background 180ms,transform 180ms}
.content-icon{transition:background 180ms,transform 220ms cubic-bezier(.2,.8,.2,1)}
.card-menu{animation:menu-enter 130ms ease-out both;transform-origin:top right}
.card-menu button,.card-menu a{transition:background 130ms}
.device-card{transition:border-color 180ms,background 180ms}
.cloud-note{border:1px solid #dce3cf}
.library-banner{position:relative;overflow:hidden}
.banner-art{transition:transform 250ms cubic-bezier(.2,.8,.2,1)}
.library-banner:hover .banner-art{transform:rotate(-2deg) translateY(-2px)}
.refresh-area{min-width:150px;justify-content:flex-end}
.refresh-status{transition:color 180ms}
.refresh-status.is-refreshing{color:#7c8c6b}
.refresh-status::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#96aa7d;margin-right:6px;vertical-align:middle;transition:background 180ms}
.refresh-status.stale::before{background:#bf9763}
.refresh-status.is-refreshing::before{animation:status-breathe 900ms ease-in-out infinite}
.icon-button.is-refreshing .icon{animation:refresh-spin 900ms linear infinite}
.main-content.is-loading>.page,.main-content.has-load-error>.page{display:none}
.workspace-loading{padding-top:2px}
.skeleton{background:#e9ede1;border-radius:7px;position:relative;overflow:hidden}
.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#f9fbf280,transparent);animation:skeleton-shimmer 1.6s ease-in-out infinite}
.skeleton-eyebrow{width:195px;height:8px;margin:2px 0 21px}
.skeleton-heading{width:310px;max-width:85%;height:40px;margin-bottom:17px}
.skeleton-subheading{width:390px;max-width:90%;height:11px;margin-bottom:38px}
.skeleton-banner{width:100%;height:126px;border-radius:16px;margin-bottom:52px;background:#e8eddc}
.skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.skeleton-card{background:#fdfdf9;border:1px solid #e3e7db;border-radius:16px;padding:23px 22px;min-height:240px}
.skeleton-icon{width:43px;height:45px;border-radius:10px;margin-bottom:26px}
.skeleton-title{width:65%;height:17px;margin-bottom:17px}
.skeleton-line{width:95%;height:9px;margin-bottom:9px}
.skeleton-line.short{width:70%}
.load-error{margin-top:15px;padding-top:60px;padding-bottom:60px}
.app-enter{animation:app-enter 260ms ease-out both}
.page-enter{animation:page-enter 260ms cubic-bezier(.2,.75,.25,1) both}
.stagger-in .content-card{animation:card-enter 300ms cubic-bezier(.2,.75,.25,1) both}
.stagger-in .content-card:nth-child(2){animation-delay:45ms}
.stagger-in .content-card:nth-child(3){animation-delay:90ms}
.stagger-in .content-card:nth-child(4){animation-delay:115ms}
.stagger-in .content-card:nth-child(5){animation-delay:140ms}
.stagger-in .content-card:nth-child(n+6){animation-delay:165ms}
.list-update{animation:list-update 250ms ease-out both}
.modal[open]{animation:modal-enter 220ms cubic-bezier(.2,.8,.25,1) both}
.modal[open]::backdrop{animation:backdrop-enter 200ms ease-out both}
.modal[open].is-closing{animation:modal-exit 160ms ease-in both;pointer-events:none}
.modal[open].is-closing::backdrop{animation:backdrop-exit 160ms ease-in both}
.toast{animation:toast-enter 220ms cubic-bezier(.2,.8,.25,1) both}
.toast.is-leaving{animation:toast-exit 160ms ease-in both}
.login-story-content{animation:story-enter 420ms ease-out both}
.login-form{animation:story-enter 420ms 80ms ease-out both}
.download-note{animation:list-update 200ms ease-out both}
.form-error:not([hidden]){animation:list-update 160ms ease-out both}
.preview-banner{position:fixed;inset:0 0 auto;min-height:30px;padding:6px 18px;background:#e9e4d3;border-bottom:1px solid #d9d2bb;display:flex;justify-content:center;align-items:center;gap:9px;font-size:.62rem;color:#7b7258;z-index:40}
.preview-banner strong{font-weight:600}.preview-banner>.status-dot{background:#a9976b}.preview-banner>span:last-child{color:#94896f}
.local-preview{padding-top:30px}
.local-preview .sidebar{top:30px;height:calc(100svh - 30px)}
.local-preview .login-layout,.local-preview .initial-loading,.local-preview .app-layout{min-height:calc(100svh - 30px)}
@keyframes app-enter{from{opacity:0}to{opacity:1}}
@keyframes page-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes card-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes list-update{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@keyframes modal-enter{from{opacity:0;transform:translateY(13px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes modal-exit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(6px) scale(.99)}}
@keyframes backdrop-enter{from{background-color:#142d2300;backdrop-filter:blur(0)}to{background-color:#142d2370;backdrop-filter:blur(3px)}}
@keyframes backdrop-exit{from{background-color:#142d2370;backdrop-filter:blur(3px)}to{background-color:#142d2300;backdrop-filter:blur(0)}}
@keyframes toast-enter{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes toast-exit{from{opacity:1;transform:translate(-50%,0)}to{opacity:0;transform:translate(-50%,5px)}}
@keyframes story-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes menu-enter{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes refresh-spin{to{transform:rotate(360deg)}}
@keyframes status-breathe{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes skeleton-shimmer{to{transform:translateX(100%)}}
@media(hover:hover) and (pointer:fine){
  .button:hover:not(:disabled){transform:translateY(-1px)}
  .button:active:not(:disabled){transform:translateY(1px) scale(.985)}
  .content-card:hover{transform:translateY(-3px);background:#fffffc}
  .content-card:hover .content-icon{transform:translateY(-2px)}
  .device-card:not(.revoked):hover{border-color:#c6d2b8}
}
@media(max-width:1170px){.skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-grid>.skeleton-card:nth-child(3){display:none}}
@media(max-width:850px){.local-preview .sidebar{height:auto;top:auto}.preview-banner{font-size:.58rem}}
@media(max-width:560px){
  .preview-banner{gap:6px;padding:7px 10px;font-size:.54rem;min-height:30px}
  .preview-banner>span:last-child{font-size:.51rem}
  .refresh-area{min-width:auto}.refresh-status{font-size:.54rem}.refresh-status::before{margin-right:4px;width:3px;height:3px}
  .refresh-area .icon-button{width:29px;height:32px}.refresh-area .icon{width:16px;height:16px}
  .skeleton-grid{grid-template-columns:1fr}.skeleton-grid>.skeleton-card:nth-child(n+2){display:none}
  .skeleton-eyebrow{width:170px}.skeleton-heading{height:33px;width:250px}.skeleton-subheading{width:280px;margin-bottom:30px}.skeleton-banner{height:150px;margin-bottom:34px}
  .skeleton-card{min-height:235px}.modal.is-closing{pointer-events:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .content-card:hover,.content-card:hover .content-icon,.button:hover:not(:disabled),.button:active:not(:disabled),.icon-button:active:not(:disabled),.text-button:hover .icon{transform:none}
}

/* Espaces de travail des applications. */
.workspace-back{margin:-10px 0 23px;font-size:.74rem;color:#7b8d6b;justify-content:flex-start}
.workspace-back .icon{transform:rotate(180deg);width:15px;height:15px}
.workspace-back:hover .icon{transform:rotate(180deg) translateX(2px)}
.workspace-app-heading{align-items:flex-start;margin-bottom:27px}
.workspace-app-heading>div:first-child{max-width:620px}
.workspace-app-heading h1{overflow-wrap:anywhere}
.workspace-save-actions{display:flex;align-items:flex-end;flex-direction:column;gap:9px;flex:none;padding-top:8px}
.workspace-save-actions .button{font-size:.8rem;min-width:140px}
.save-state{font-size:.63rem;color:#7c8c68;text-align:right}
.save-state::before{content:"";display:inline-block;width:5px;height:5px;background:#96ad7d;border-radius:50%;margin-right:6px;vertical-align:middle}
.save-state.is-dirty{color:#a1844b}.save-state.is-dirty::before{background:#b49b63}
.button.is-saving .icon{animation:status-breathe 700ms ease-in-out infinite}
.workspace-title-field{display:grid;grid-template-columns:auto minmax(160px,300px) 1fr;align-items:center;gap:15px;padding:18px 0 23px;margin-bottom:25px;border-bottom:1px solid var(--border)}
.workspace-title-field label{font-size:.7rem;color:#8a977b;line-height:1.5;max-width:100px}
.workspace-title-field input{font-size:.8rem;background:#fdfdf9;min-height:40px;padding:8px 11px}
.workspace-title-field .small{font-size:.61rem;text-align:right;color:#a0aa93}
.workspace-conflict p{font-size:.76rem;margin:5px 0 11px;max-width:800px}
.conflict-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.conflict-actions .button,.conflict-actions .text-button{font-size:.7rem}
.workspace-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:25px}
.workspace-panel>h2{font-size:1rem;margin-bottom:23px}
.workspace-panel .field:last-child{margin-bottom:0}
.workspace-panel .field label{font-size:.7rem;color:#7d8e6d}
.workspace-panel textarea{font-size:.81rem;line-height:1.9;min-height:135px}
.workspace-publish-note{display:flex;gap:8px;align-items:flex-start;justify-content:center;font-size:.64rem;color:#97a18a;margin:25px 0 0;line-height:1.8}
.workspace-publish-note .icon{width:15px;height:15px;margin-top:3px}
.inline-actions{display:flex;gap:2px;align-items:center}
.inline-actions .icon-button{width:29px;height:29px;color:#9aa68b}
.inline-actions .icon-button .icon{width:15px;height:15px;stroke-width:1.45}
.inline-actions .icon-button:disabled{opacity:.3;cursor:default}
.inline-actions .icon-button:not(:disabled):hover{color:var(--forest)}
.inline-actions .icon-button:last-child:not(:disabled):hover{color:var(--danger);background:#faf0e9}
.inline-empty{font-size:.76rem;color:#97a289;line-height:1.8;padding:20px 5px}
.app-workspace-loading{max-width:900px;padding:15px 0 20px}
.app-workspace-loading .skeleton-banner{height:260px;margin-bottom:30px}
#workspace-retry{margin:0 0 25px}
.briefing-layout,.document-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}
.briefing-editor>.workspace-panel{margin-bottom:24px}
.briefing-editor>.section-bar{margin:30px 0 17px}
.briefing-editor>.button{margin-top:2px}
.section-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.section-editor-heading .eyebrow{margin:0;font-size:.59rem;letter-spacing:.13em}
.briefing-section{padding-top:17px}
.briefing-section .field{margin-bottom:17px}
#briefing-preview,#document-preview{position:sticky;top:25px;min-width:0}
.reading-preview{border:1px solid #e1e4d6;border-radius:var(--radius);overflow:hidden;background:#f5f4eb}
.preview-caption{display:flex;align-items:center;gap:8px;padding:15px 21px;color:#9ca58c;font-size:.54rem;font-weight:600;letter-spacing:.12em;border-bottom:1px solid #e5e7db}
.preview-caption .icon{width:15px;height:15px;stroke-width:1.35}
.reading-paper{font-family:Georgia,"Times New Roman",serif;padding:32px 27px 40px;background:#fffef8;min-height:330px;max-height:760px;overflow:auto;color:#4c5543}
.reading-paper .reading-title{font-size:1.65rem;line-height:1.3;font-weight:400;letter-spacing:-.04em;margin-bottom:25px;overflow-wrap:anywhere}
.reading-paper p{font-size:.89rem;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
.reading-introduction{color:#77816a;font-style:italic;padding-bottom:22px;border-bottom:1px solid #eeede2;margin-bottom:25px}
.reading-section{margin-top:24px}
.reading-section h3{font-size:1.02rem;line-height:1.4;font-weight:600;letter-spacing:-.02em;overflow-wrap:anywhere}
.reading-section p{font-size:.83rem;color:#858d79}
.reading-placeholder{font-style:italic;color:#abb19c}
.reading-text{color:#7f8774;font-size:.83rem!important}
.document-editor textarea{min-height:480px}
.document-editor>.field-help{margin-top:16px}
.notes-layout{display:grid;grid-template-columns:270px minmax(0,1fr);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);min-height:590px}
.notes-sidebar{background:#f2f4eb;padding:23px 18px;border-right:1px solid var(--border);min-width:0}
.notes-sidebar .section-bar{margin-bottom:20px}
.notes-sidebar h2{font-size:.98rem}
.notes-sidebar>.button{font-size:.73rem;margin-bottom:20px;padding:10px 12px}
.notes-search{font-size:.74rem;min-height:38px;background:#fbfcf7;padding:8px 10px;margin-bottom:15px}
.segmented-control{display:flex;align-items:center;background:#e9edde;border-radius:8px;padding:3px;gap:3px}
.segmented-control button{border:0;color:#8c987c;background:transparent;flex:1;min-height:32px;border-radius:6px;padding:5px 11px;font-size:.66rem;font-weight:500;transition:color 140ms,background 140ms}
.segmented-control button.selected{background:#fff;color:#4f6743;box-shadow:0 1px 3px #173b3208}
.segmented-control button:hover{color:var(--forest)}
.notes-list{margin-top:19px;display:flex;flex-direction:column;gap:6px;max-height:590px;overflow:auto}
.note-list-item{border:1px solid transparent;border-radius:9px;padding:13px 12px;display:flex;flex-direction:column;text-align:left;gap:7px;color:#8d987e;background:transparent;width:100%;transition:background 140ms,border-color 140ms;min-width:0}
.note-list-item:hover{background:#e8edde}
.note-list-item.selected{background:#fff;border-color:#dce4cf}
.note-list-title{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font-size:.76rem;color:#6c7e5e;overflow-wrap:anywhere;min-width:0}
.note-list-title strong{font-weight:600;min-width:0}
.note-list-title .icon{width:13px;height:13px;stroke-width:1.5;color:#b09c61;fill:#e5dab5}
.note-snippet{font-size:.64rem;line-height:1.75;color:#9fa98e;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere}
.note-editor{padding:23px 27px 28px;min-width:0;background:#fffffc}
.note-editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #e9eddf;padding-bottom:15px;margin-bottom:22px}
.note-editor-toolbar .text-button{font-size:.66rem;font-weight:500}
.note-editor-toolbar .icon{width:14px;height:14px;stroke-width:1.4}
.note-editor-toolbar .is-favorite{color:#b09855}.note-editor-toolbar .is-favorite .icon{fill:#e8dfbe}
.note-editor .field label{font-size:.65rem;color:#9ba58b}
.note-editor #note-title{font-size:1.35rem;font-weight:500;letter-spacing:-.035em;padding:10px 0;border:0;border-bottom:1px solid #e8eddf;border-radius:0;background:transparent}
.note-editor #note-body{min-height:370px;line-height:1.95;font-size:.83rem;padding:10px 0;border:0;background:transparent}
.note-editor #note-body:focus,.note-editor #note-title:focus{outline:0;border-color:#d8e0c8;box-shadow:inset 0 -1px #c6d4b4}
.note-editor-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:470px;text-align:center;color:#94a082;padding:25px 0}
.note-editor-empty>.icon{width:45px;height:45px;stroke-width:1.2;margin-bottom:24px;color:#a0ae8e}
.note-editor-empty h2{font-size:1.1rem;color:#6d805d}
.note-editor-empty p{font-size:.76rem;max-width:270px;line-height:1.8;margin-bottom:22px}
.note-editor-empty .button{font-size:.72rem}
.checklist-workspace{max-width:920px;padding:29px 30px}
.checklist-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}
.checklist-summary .eyebrow{font-size:.59rem;letter-spacing:.13em;margin-bottom:10px}
.checklist-summary h2{font-size:1.45rem;margin:0;letter-spacing:-.04em}
.progress-number{color:#8fa273;font-size:1.45rem;font-weight:400;letter-spacing:-.05em}
.checklist-progress{width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;background:#eaf0df;color:#7f9a5e;appearance:none;display:block;margin-bottom:26px}
.checklist-progress::-webkit-progress-bar{background:#eaf0df;border-radius:8px}
.checklist-progress::-webkit-progress-value{background:#7f9a5e;border-radius:8px;transition:width 180ms}
.checklist-progress::-moz-progress-bar{background:#7f9a5e;border-radius:8px}
.task-filters{max-width:350px;margin-bottom:24px}
.task-filters button{font-size:.64rem;min-height:32px;white-space:nowrap}
.task-list{border-top:1px solid #edf0e4}
.task-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf0e4}
.task-checkbox{accent-color:#729056;min-height:20px;width:20px;height:20px;cursor:pointer;margin:0;padding:0;border-radius:5px}
.task-label{border:1px solid transparent;border-radius:6px;min-height:34px;padding:5px 7px;font-size:.83rem;background:transparent;color:#697e58}
.task-label:hover{background:#f6f8f0;border-color:#e8eedc}
.task-label:focus{outline:2px solid #d0ddbf;border-color:#c6d4b3}
.task-row.is-done .task-label{color:#aab49b;text-decoration:line-through;text-decoration-color:#bfc8b2}
.task-row.is-done .task-checkbox{opacity:.65}
.task-actions{opacity:.6;transition:opacity 160ms}
.task-row:hover .task-actions,.task-row:focus-within .task-actions{opacity:1}
.task-add-form{display:flex;gap:11px;margin-top:25px}
.task-add-form>input{background:#fafcf6;font-size:.8rem}
.task-add-form>.button{font-size:.75rem;min-width:110px}
.checklist-workspace>.field-help{font-size:.63rem;margin-top:13px}
.epub-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);gap:45px;align-items:start;padding:34px;max-width:950px}
.epub-book{min-height:285px;border-radius:5px 14px 14px 5px;background:#284c3d;padding:30px 23px 25px;border-left:5px solid #183d2e;display:flex;flex-direction:column;color:#e3ebcf;overflow:hidden}
.epub-book>.icon{width:45px;height:45px;stroke-width:1.1;color:#9fb589;margin-bottom:30px}
.epub-book>strong{font-family:Georgia,serif;font-size:1.3rem;line-height:1.45;letter-spacing:-.03em;font-weight:400;overflow-wrap:anywhere;margin-bottom:25px}
.epub-book>span{font-size:.52rem;letter-spacing:.2em;color:#8fa980;margin-top:auto}
.epub-details{padding-top:7px;min-width:0}.epub-details>.eyebrow{font-size:.55rem;letter-spacing:.13em}
.epub-details>h2{font-size:1.45rem;letter-spacing:-.045em}
.epub-details>.muted{font-size:.78rem;line-height:1.85;max-width:420px;color:#8c9a7c}
.epub-details>.button{font-size:.73rem}
.document-specs{display:grid;grid-template-columns:75px 1fr;gap:6px 20px;font-size:.72rem;margin:23px 0}
.document-specs dt{color:#9aa78b}.document-specs dd{margin:0;color:#6d805e}
.epub-replace{border-top:1px solid #e7ecdd;margin-top:27px;padding-top:20px}
.epub-replace>label{font-size:.73rem;font-weight:500;display:block;margin-bottom:11px;color:#7d906c}
.epub-replace>input{font-size:.7rem;background:#f8faf2;padding:10px}
.epub-replace>input::file-selector-button{background:#e8efdc;border:1px solid #d7e1c8;border-radius:5px;padding:6px 9px;margin-right:10px;color:#6e835b;font:inherit;cursor:pointer}
.epub-replace .field-help{font-size:.63rem}
@media(max-width:1200px){
  .briefing-layout,.document-layout{gap:19px;grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
  .workspace-panel{padding:22px}.reading-paper{padding:28px 21px}.reading-paper .reading-title{font-size:1.4rem}
  .notes-layout{grid-template-columns:220px minmax(0,1fr)}.notes-sidebar{padding:21px 14px}.note-editor{padding:21px 22px}
  .epub-workspace{gap:30px;padding:29px;grid-template-columns:175px minmax(0,1fr)}.epub-book{min-height:260px;padding:26px 18px}.epub-book>strong{font-size:1.15rem}
}
@media(max-width:1000px) and (min-width:851px){
  .briefing-layout,.document-layout{grid-template-columns:1fr}.briefing-layout #briefing-preview,.document-layout #document-preview{position:static}
  .notes-layout{grid-template-columns:1fr}.notes-sidebar{border-right:0;border-bottom:1px solid var(--border)}.notes-list{max-height:210px}.note-editor-empty{min-height:300px}
  .workspace-title-field{grid-template-columns:100px 1fr}.workspace-title-field>.small{grid-column:2;text-align:left}
  .workspace-app-heading{gap:18px}.workspace-save-actions{padding-top:3px}.workspace-save-actions>.button{min-width:120px;font-size:.7rem}
  .save-state{font-size:.57rem}.checklist-workspace{padding:24px 20px}.task-row{gap:7px}.task-label{font-size:.76rem;padding-left:4px}.inline-actions .icon-button{width:25px}
  .epub-workspace{grid-template-columns:1fr}.epub-book{width:170px;min-height:230px}
}
@media(max-width:700px){
  .workspace-app-heading{display:flex;flex-direction:column;gap:20px}
  .workspace-save-actions{width:100%;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:15px;padding:0}.workspace-save-actions>.button{font-size:.74rem;min-width:125px}
  .save-state{text-align:left;font-size:.6rem}.workspace-title-field{grid-template-columns:90px minmax(0,1fr);gap:10px 14px}.workspace-title-field>.small{grid-column:2;text-align:left;font-size:.57rem}
  .briefing-layout,.document-layout{grid-template-columns:1fr;gap:29px}#briefing-preview,#document-preview{position:static}
  .reading-paper{min-height:280px;max-height:600px;padding:30px 25px}.reading-paper .reading-title{font-size:1.55rem}
  .notes-layout{grid-template-columns:1fr}.notes-sidebar{padding:22px;border-right:0;border-bottom:1px solid var(--border)}.notes-sidebar .section-bar{margin-bottom:16px}.notes-sidebar>.button{max-width:220px}
  .notes-sidebar>.notes-search{margin-bottom:13px}.notes-sidebar>.segmented-control{max-width:250px}.notes-list{max-height:240px;margin-top:15px}.note-list-item{padding:12px}
  .note-editor{padding:23px}.note-editor-empty{min-height:300px}.note-editor #note-body{min-height:300px}
  .epub-workspace{grid-template-columns:160px minmax(0,1fr);padding:26px;gap:25px}.epub-book{min-height:245px;padding:24px 17px}.epub-details>h2{font-size:1.2rem}
  .workspace-back{margin-bottom:22px}.workspace-publish-note{font-size:.6rem;justify-content:flex-start}
}
@media(max-width:500px){
  .workspace-app-heading h1{font-size:2rem}.workspace-app-heading p:not(.eyebrow){font-size:.74rem}.workspace-title-field{margin-bottom:22px}.workspace-title-field>input{font-size:.74rem}.workspace-title-field>label{font-size:.63rem}
  .workspace-panel{padding:22px 20px}.workspace-panel textarea{font-size:.77rem}.briefing-section{padding-top:15px}.workspace-panel .field label{font-size:.65rem}
  .section-editor-heading{gap:8px}.section-editor-heading .eyebrow{font-size:.54rem}.briefing-editor>.section-bar{margin-top:25px}.briefing-editor>.button{width:100%;font-size:.73rem}
  .checklist-workspace{padding:24px 18px}.checklist-summary h2{font-size:1.25rem}.checklist-summary .eyebrow{font-size:.5rem}.progress-number{font-size:1.2rem}.checklist-progress{margin-bottom:23px}
  .task-row{grid-template-columns:18px minmax(0,1fr);gap:8px;padding:11px 0}.task-checkbox{width:18px;height:18px;min-height:18px}.task-label{font-size:.79rem;padding:4px 5px}
  .task-actions{grid-column:2;justify-self:end;opacity:.8;margin-top:-4px}.task-actions .icon-button{width:28px;height:25px}.task-actions .icon-button .icon{width:13px;height:13px}
  .task-filters button{font-size:.56rem;padding:5px 8px}.task-add-form{gap:8px}.task-add-form>.button{min-width:80px;font-size:.67rem;padding:9px 10px}.task-add-form>.button .icon{width:14px;height:14px}.task-add-form>input{font-size:.74rem;padding-left:9px}
  .checklist-workspace>.field-help{font-size:.58rem}.notes-sidebar{padding:22px 18px}.note-editor{padding:20px}.note-editor #note-title{font-size:1.2rem}.note-editor #note-body{font-size:.78rem}
  .epub-workspace{grid-template-columns:1fr;gap:28px;padding:25px 22px}.epub-book{width:165px;min-height:240px}.epub-details>.muted{font-size:.74rem}.epub-replace>input{font-size:.64rem}
  .conflict-actions{gap:9px}.conflict-actions>.button{font-size:.64rem;padding:9px 10px}.conflict-actions>.text-button{font-size:.64rem}
  .document-editor textarea{min-height:350px}.reading-paper{padding:28px 24px}.workspace-publish-note{margin-top:22px;font-size:.58rem}
}
@media(prefers-reduced-motion:reduce){.workspace-back:hover .icon{transform:rotate(180deg)}.checklist-progress::-webkit-progress-value{transition:none}}

/* Météo : un espace dédié, les données conservées restent datées. */
.content-icon.weather{background:#f5efd8;color:#ad9758}.weather-discovery{background:#f7f8ef;border-style:dashed}.weather-discovery .card-description{color:#8e9c79}
.weather-page-heading{align-items:flex-start}.weather-header-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:15px}.weather-header-actions .button{font-size:.73rem}
.weather-current{padding:33px 35px 0;border:1px solid #e2e7d4;border-radius:var(--radius);background:#f1f4e7}
.weather-current-main{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:30px}
.weather-current .eyebrow{font-size:.58rem;color:#96a278;letter-spacing:.15em;margin-bottom:15px}
.weather-temperature{font-size:4.7rem;line-height:1;font-weight:350;letter-spacing:-.08em;color:#577344;margin-bottom:17px}
.weather-current-main h2{font-size:1.15rem;letter-spacing:-.025em;color:#7a8c63;margin-bottom:9px}.weather-local-time{font-size:.63rem;color:#a4af91;margin:0}
.weather-condition-art{width:150px;height:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#b4a263;background:#e8edda}
.weather-condition-art>.icon{width:91px;height:91px;stroke-width:1}
.weather-metrics{border-top:1px solid #dfe6d0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.weather-metric{padding:20px 0;display:grid;grid-template-columns:22px 1fr;gap:5px 10px;color:#9aa888}
.weather-metric>.icon{grid-row:1/3;width:20px;height:20px;margin-top:5px;stroke-width:1.4;color:#9eb187}.weather-metric>span{font-size:.61rem}.weather-metric>strong{font-size:.9rem;color:#758965;font-weight:500}
.weather-days-heading{margin-top:30px;margin-bottom:18px}.weather-days-heading>h2{font-size:1rem}
.weather-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.weather-day{border:1px solid var(--border);border-radius:12px;background:#fff;padding:19px 15px;min-width:0}
.weather-day>h3{font-size:.64rem;letter-spacing:-.015em;color:#849773;text-transform:capitalize;line-height:1.6;min-height:21px;margin-bottom:17px}
.weather-day>.icon{height:32px;width:32px;stroke-width:1.2;color:#b1a16e;margin-bottom:14px}
.weather-day-condition{font-size:.63rem;line-height:1.6;color:#9da88e;min-height:32px;margin:0 0 13px;overflow-wrap:anywhere}
.weather-day-temperatures{display:flex;gap:11px;align-items:baseline;border-bottom:1px solid #edf0e6;padding-bottom:15px;margin-bottom:14px}
.weather-day-temperatures>strong{font-size:1.16rem;font-weight:500;letter-spacing:-.035em;color:#6b8659}.weather-day-temperatures>span{font-size:.78rem;color:#adb89c}
.weather-day-metric{display:flex;align-items:center;gap:6px;font-size:.58rem;color:#9eac8d;line-height:1.7;margin:5px 0 0}.weather-day-metric>.icon{width:12px;height:12px;stroke-width:1.4}
.weather-device-note{font-size:.63rem;line-height:1.85;color:#9ba88b;max-width:750px;margin-top:20px}
.weather-attribution{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--border);padding-top:18px;margin-top:30px}
.weather-attribution>.small{font-size:.61rem;color:#9ba68e}.weather-attribution>a{display:flex;gap:6px;align-items:center;font-size:.63rem;text-decoration:none;color:#8d9c7b;white-space:nowrap}.weather-attribution>a:hover{text-decoration:underline}.weather-attribution .icon{width:13px;height:13px;transform:rotate(-40deg)}
.weather-install{display:flex;align-items:center;gap:34px;padding:37px;min-height:270px}.weather-install-art{display:flex;align-items:center;justify-content:center;flex:none;width:120px;height:120px;border-radius:25px;background:#f1eedb;color:#b3a371}
.weather-install-art>.icon{width:70px;height:70px;stroke-width:1.1}.weather-install .eyebrow{font-size:.57rem;margin-bottom:13px}.weather-install h2{font-size:1.45rem}.weather-install .muted{font-size:.78rem;line-height:1.9;max-width:550px;margin-bottom:23px}.weather-install .button{font-size:.73rem}.weather-install .field-help{font-size:.6rem;max-width:520px;margin-top:15px}
.weather-picker{margin-bottom:27px;max-width:900px}.weather-picker>.eyebrow{font-size:.55rem;margin-bottom:12px}.weather-picker>h2{font-size:1.2rem;margin-bottom:12px}.weather-picker>.muted{font-size:.75rem;line-height:1.85;max-width:650px;color:#92a17f}
.weather-search-form{display:flex;gap:12px;margin:22px 0 17px}.weather-search-form>input{font-size:.78rem;background:#fafcf6}.weather-search-form>.button{font-size:.73rem;min-width:125px}
.weather-location-results{display:flex;flex-direction:column;gap:8px}.weather-location-result{display:flex;gap:12px;align-items:center;border:1px solid #e2e8d7;border-radius:9px;background:#fcfdf8;text-align:left;color:#95a482;padding:13px 15px;width:100%;transition:background 140ms,border-color 140ms}
.weather-location-result>.icon{width:18px;height:18px;stroke-width:1.5}.weather-location-result>div{flex:1;min-width:0}.weather-location-result strong{display:block;font-size:.76rem;font-weight:500;color:#748a60;overflow-wrap:anywhere}.weather-location-result span{display:block;font-size:.62rem;color:#a4af94;margin-top:3px;overflow-wrap:anywhere}.weather-location-result.selected{background:#eef3e3;border-color:#b6c8a0}.weather-location-result:hover:not(:disabled){background:#f0f5e6}
.weather-location-choice{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:20px;border-top:1px solid #e9eddf;padding-top:20px}.weather-location-choice>p{font-size:.73rem;color:#82986f;margin:0;line-height:1.8}.weather-location-choice>.button{font-size:.7rem;flex:none}.weather-picker>.text-button{font-size:.66rem;margin-top:14px}
.weather-stale{font-size:.72rem}.weather-forecast-empty{margin:25px 0}.weather-forecast-empty>.icon{width:45px;height:45px;color:#b0b79a;margin-bottom:23px}.weather-forecast-empty h2{font-size:1.1rem}
@media(max-width:1100px){.weather-days{gap:9px}.weather-day{padding:17px 11px}.weather-day>h3{font-size:.6rem}.weather-day-metric{font-size:.54rem;gap:4px}.weather-temperature{font-size:4.1rem}.weather-current{padding:29px 28px 0}.weather-condition-art{width:125px;height:125px}.weather-condition-art>.icon{width:76px;height:76px}.weather-install{padding:28px;gap:25px}.weather-install-art{width:95px;height:95px}.weather-install-art>.icon{width:57px;height:57px}}
@media(max-width:950px) and (min-width:851px){.weather-days{grid-template-columns:repeat(3,minmax(0,1fr))}.weather-page-heading{flex-direction:column;gap:20px}.weather-header-actions{padding:0}.weather-day{padding:20px 17px}.weather-install{align-items:flex-start}.weather-install-art{width:70px;height:70px}.weather-install-art>.icon{width:44px;height:44px}.weather-attribution{align-items:flex-start}}
@media(max-width:650px){.weather-page-heading{display:block}.weather-header-actions{padding-top:23px;gap:9px}.weather-header-actions .button{font-size:.67rem;padding:10px 12px}.weather-current{padding:26px 22px 0}.weather-current-main{padding-bottom:25px;gap:20px}.weather-temperature{font-size:3.7rem}.weather-condition-art{width:100px;height:100px}.weather-condition-art>.icon{width:61px;height:61px}.weather-current-main h2{font-size:1rem}.weather-metric{grid-template-columns:17px 1fr;padding:18px 0;gap:4px 7px}.weather-metric>.icon{width:16px;height:16px}.weather-metric>span{font-size:.55rem}.weather-metric>strong{font-size:.77rem}.weather-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.weather-day{padding:20px}.weather-day>h3{font-size:.68rem}.weather-day-condition{min-height:22px;font-size:.66rem}.weather-day-metric{font-size:.62rem}.weather-day:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.weather-day:last-child>h3{grid-column:1/-1;margin-bottom:3px}.weather-day:last-child>.icon{grid-column:1;width:38px;height:38px;margin:0}.weather-day:last-child>.weather-day-condition{grid-column:1;margin:0}.weather-day:last-child>.weather-day-temperatures{grid-column:2;grid-row:2/4;padding:0;border:0;margin:0;align-self:center}.weather-day:last-child>.weather-day-metric{margin:0}.weather-install{padding:25px;gap:22px;flex-direction:column;align-items:flex-start}.weather-install-art{width:76px;height:76px;border-radius:18px}.weather-install-art>.icon{width:46px;height:46px}.weather-install h2{font-size:1.25rem}.weather-install .muted{font-size:.73rem}.weather-install .field-help{font-size:.6rem}.weather-picker{padding:24px 21px}.weather-search-form{gap:8px}.weather-search-form>.button{min-width:95px;font-size:.67rem;padding:10px}.weather-search-form>input{font-size:.73rem;padding-left:10px}.weather-picker>.muted{font-size:.71rem}.weather-picker>h2{font-size:1.12rem}.weather-location-choice{flex-direction:column;align-items:stretch;gap:13px}.weather-location-choice>.button{width:100%}.weather-attribution{flex-direction:column;align-items:flex-start;gap:11px}.weather-local-time{font-size:.56rem}.weather-device-note{font-size:.59rem}.weather-current .eyebrow{font-size:.5rem;letter-spacing:.12em}}

/* Galerie, lectures à garder et révision. */
.library-tools{display:flex;gap:17px;align-items:center}.library-tools>.text-button{font-size:.66rem}.gallery-page>.page-heading{align-items:center}.gallery-page>.page-heading>.pill{font-size:.69rem;padding:7px 12px}.gallery-grid{gap:20px}.gallery-card{min-height:280px}.gallery-card .card-bottom{gap:12px}.gallery-card .card-meta{font-size:.52rem;letter-spacing:.05em;line-height:1.7;max-width:95px}.gallery-card .card-bottom>.button{font-size:.68rem;padding:8px 12px;min-height:37px}.content-icon.agenda{background:#eaf0e4;color:#8c9d70}.content-icon.articles{background:#f4eedb;color:#ad9a66}.content-icon.bookmarks{background:#e5efe9;color:#709b86}.content-icon.flashcards{background:#eee9f4;color:#9e8db0}.content-icon.briefing{background:#f3ecda;color:#a08850}
.review-launch{margin-bottom:15px!important}.collection-editor #article-body{min-height:390px}.collection-editor #bookmark-description{min-height:170px}.collection-editor #card-front,.collection-editor #card-back{min-height:180px;font-size:.9rem;line-height:1.9;background:#fffef7;border-color:#e3e7d9}.collection-editor #card-back{background:#f4f8ee}.collection-editor .external-link{font-size:.72rem;margin-top:12px}.external-link .icon{transform:rotate(-40deg);width:14px;height:14px}.external-link:hover .icon{transform:rotate(-40deg) translateX(2px)}
.collection-editor>.note-editor-toolbar>.eyebrow{margin:0;font-size:.55rem}.collection-editor>.field-help{font-size:.65rem;line-height:1.8}.review-workspace{max-width:850px}.review-workspace>.section-bar{margin-bottom:20px}.review-workspace>.section-bar>h2{font-size:1.13rem}.review-position{font-size:.65rem;letter-spacing:.02em;color:#9aa88b;text-align:center;margin-bottom:18px}.review-card{min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;background:#fffef7;border:1px solid #e4e6d8;border-radius:18px;text-align:center;animation:page-enter 200ms ease-out both}.review-card.is-revealed{background:#eef4e5;border-color:#dce5ce}.review-card>.eyebrow{font-size:.55rem;margin-bottom:24px;color:#a4ad94}.review-card>p{font-family:Georgia,serif;font-size:1.5rem;line-height:1.8;color:#6b7f59;max-width:650px;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.review-actions{display:flex;justify-content:center;align-items:center;gap:14px;margin:24px 0 18px}.review-actions>.button{min-width:145px;font-size:.77rem}.review-footnote{text-align:center;font-size:.63rem;margin-top:20px}.review-summary>.icon{width:43px;height:43px;color:#a4b28d;margin-bottom:23px}.review-summary>.field-help{margin-bottom:25px}
/* Agenda en lecture seule. */
.calendar-page>.page-heading>.button{font-size:.76rem}.calendar-install,.calendar-connect,.calendar-setup{padding:33px;margin-bottom:25px;max-width:900px}.calendar-install>.icon,.calendar-connect>.icon,.calendar-setup>.icon{width:40px;height:40px;color:#9bad82;stroke-width:1.2;margin-bottom:22px}.calendar-install>h2,.calendar-connect>h2,.calendar-setup>h2{font-size:1.4rem}.calendar-install>.muted,.calendar-connect>.muted,.calendar-setup>.muted{font-size:.8rem;line-height:1.9;max-width:640px;color:#95a485}.calendar-setup>.eyebrow{font-size:.57rem;margin-bottom:12px;color:#a39c7a}.calendar-setup{background:#faf9f0;border-color:#e9e5d4}.calendar-setup>.icon{color:#b7ad81}.calendar-install>.button,.calendar-connect>.button{font-size:.74rem}.calendar-install>.field-help,.calendar-connect>.field-help,.calendar-setup>.field-help{font-size:.65rem;max-width:650px}.calendar-selection{padding:25px;margin-bottom:28px}.calendar-selection>.section-bar{margin-bottom:8px}.calendar-selection h2{font-size:1rem}.calendar-selection .text-button{font-size:.64rem}.calendar-selection>.field-help{font-size:.65rem;margin-bottom:16px}.calendar-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:22px}.calendar-choice{display:flex;align-items:center;gap:10px;background:#f6f8ef;border:1px solid #e6ecda;border-radius:8px;padding:12px 14px;cursor:pointer;min-width:0}.calendar-choice>input{height:17px;width:17px;min-height:17px;margin:0;padding:0;accent-color:#7b965e;flex:none}.calendar-choice>span{font-size:.72rem;color:#82996b;overflow-wrap:anywhere;min-width:0}.calendar-choice small{display:block;font-size:.55rem;color:#a3b38d;margin-top:3px}.calendar-selection>.button{font-size:.69rem;min-height:39px}.calendar-view-bar{margin:27px 0 23px}.calendar-view-bar>.segmented-control{min-width:280px}.calendar-view-bar>.pill{font-size:.6rem}.calendar-upcoming{display:flex;flex-direction:column;gap:28px}.calendar-day-group{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:23px 25px 6px}.calendar-day-group>h2{font-size:.88rem;color:#91a27c;text-transform:capitalize;margin-bottom:20px}.calendar-event{display:grid;grid-template-columns:105px minmax(0,1fr);gap:18px;border-top:1px solid #edf0e6;padding:18px 0}.calendar-event-time{font-size:.7rem;color:#a6b295;line-height:1.8}.calendar-event h3{font-size:.94rem;color:#6c8359;letter-spacing:-.025em;line-height:1.5;margin-bottom:6px;overflow-wrap:anywhere}.calendar-event-source,.calendar-event-place{font-size:.66rem;color:#a0ad91;line-height:1.7;overflow-wrap:anywhere;margin:3px 0}.calendar-event .external-link{font-size:.61rem;padding:7px 0 0;color:#8da578}.calendar-updated{font-size:.62rem;margin:25px 0 0;line-height:1.85}.calendar-month{padding:25px}.calendar-month>.section-bar h2{text-transform:capitalize;font-size:1rem}.calendar-month>.section-bar>.inline-actions .icon-button:first-child .icon{transform:rotate(-90deg)}.calendar-month>.section-bar>.inline-actions .icon-button:last-child .icon{transform:rotate(-90deg)}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekday{font-size:.58rem;color:#acb69b;text-align:center;padding:6px 0 10px}.calendar-month-day{border:1px solid #e8eddc;background:#fcfdf8;min-height:90px;border-radius:8px;padding:9px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;min-width:0;transition:background 140ms,border-color 140ms}.calendar-month-day:hover{background:#f1f6e8;border-color:#cbdcbb}.calendar-month-day.selected{background:#e9f1dc;border-color:#aac195}.calendar-date-number{font-size:.65rem;color:#8fa57b;font-weight:500;margin-bottom:3px}.calendar-mini-event{font-size:.52rem;background:#e6eedb;border-radius:3px;display:block;width:100%;padding:2px 3px;color:#899e75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.6}.calendar-more{font-size:.49rem;color:#9bad88}.calendar-month>.field-help{font-size:.59rem;margin-top:18px}.calendar-selected-day{margin-top:25px;border-top:1px solid #e9eedd;padding-top:23px}.calendar-selected-day>h3{font-size:.83rem;text-transform:capitalize;color:#97a983}.calendar-selected-day>.inline-empty{padding:8px 0;font-size:.7rem}.calendar-selected-day>.calendar-event{margin-top:10px}.calendar-page .empty-state>.icon{width:40px;height:40px;color:#b0bc9e;margin-bottom:22px}.calendar-page .empty-state h2{font-size:1.12rem}
@media(max-width:1100px){.gallery-grid{gap:17px}.gallery-card .card-meta{font-size:.47rem}.calendar-event{grid-template-columns:87px minmax(0,1fr);gap:13px}.calendar-month-grid{gap:4px}.calendar-month-day{min-height:78px;padding:7px 6px}.calendar-mini-event{font-size:.48rem}.calendar-choice>span{font-size:.67rem}}
@media(max-width:700px){.calendar-choices{grid-template-columns:1fr}.calendar-view-bar{flex-wrap:wrap}.calendar-view-bar>.segmented-control{min-width:245px}.calendar-view-bar>.pill{font-size:.56rem}.calendar-month{padding:23px 17px}.calendar-month-day{min-height:75px}.calendar-day-group{padding:22px 20px 4px}.calendar-event{grid-template-columns:80px minmax(0,1fr);gap:11px}.calendar-event h3{font-size:.85rem}.calendar-event-time{font-size:.64rem}.calendar-install,.calendar-connect,.calendar-setup{padding:28px 24px}.library-tools{gap:10px}.library-tools>.text-button{font-size:.6rem}.gallery-page>.page-heading{display:block}.gallery-page>.page-heading>.pill{margin-top:20px;font-size:.65rem}}
@media(max-width:560px){.sidebar nav{gap:0}.nav-item{font-size:.63rem;padding:11px 9px;gap:5px}.nav-item>.icon{width:14px;height:14px}.nav-item[data-page="guide"]>.icon{display:none}.library-tools{flex-direction:column;align-items:flex-end;gap:1px}.library-tools>.text-button{font-size:.56rem;padding:3px 0}.library-tools>.text-button>.icon{width:12px;height:12px}.gallery-card{min-height:250px}.gallery-card .card-meta{font-size:.53rem;max-width:none}.gallery-card .card-bottom>.button{font-size:.67rem}.review-card{padding:28px 23px;min-height:285px}.review-card>p{font-size:1.25rem}.review-workspace>.section-bar{align-items:flex-start;gap:15px}.review-workspace>.section-bar>h2{font-size:1rem;max-width:170px}.review-workspace>.section-bar>.text-button{font-size:.64rem}.review-actions{gap:10px}.review-actions>.button{min-width:120px;font-size:.7rem}.collection-editor #article-body{min-height:320px}.collection-editor #card-front,.collection-editor #card-back{font-size:.82rem;min-height:160px}.calendar-selection{padding:23px 18px}.calendar-selection .section-bar{align-items:flex-start;gap:14px}.calendar-selection h2{font-size:.92rem;max-width:145px}.calendar-selection .text-button{font-size:.58rem}.calendar-choice{padding:11px 12px}.calendar-day-group>h2{font-size:.79rem}.calendar-event{grid-template-columns:70px minmax(0,1fr);gap:10px}.calendar-event h3{font-size:.82rem}.calendar-event-source,.calendar-event-place{font-size:.6rem}.calendar-event-time{font-size:.58rem}.calendar-event .external-link{font-size:.55rem}.calendar-install>h2,.calendar-connect>h2,.calendar-setup>h2{font-size:1.2rem}.calendar-install>.muted,.calendar-connect>.muted,.calendar-setup>.muted{font-size:.74rem}.calendar-install>.field-help,.calendar-connect>.field-help,.calendar-setup>.field-help{font-size:.6rem}.calendar-month-grid{gap:3px}.calendar-month-day{padding:6px 4px;min-height:65px;border-radius:5px;gap:3px}.calendar-date-number{font-size:.59rem}.calendar-mini-event{font-size:0;width:6px;height:6px;border-radius:50%;padding:0;line-height:0;background:#acc494}.calendar-weekday{font-size:.51rem}.calendar-more{font-size:.45rem}.calendar-month>.field-help{font-size:.55rem}.calendar-view-bar>.segmented-control{min-width:230px}.calendar-view-bar>.segmented-control button{font-size:.61rem}.calendar-updated{font-size:.56rem}}
@media(prefers-reduced-motion:reduce){.review-card{animation:none}.external-link:hover .icon{transform:rotate(-40deg)}}
