:root{--green:#0f4d3e;--green-2:#11775d;--green-soft:#eaf6f1;--orange:#ef641e;--orange-soft:#fff1e9;--ink:#192922;--muted:#7b8984;--line:#e3ebe7;--bg:#f7faf8;--white:#fff;--purple:#7457d9;--purple-soft:#f0ebff;--blue:#3d7ce6;--blue-soft:#edf4ff;--shadow:0 12px 34px rgba(21,58,47,.06);--radius:18px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.ico{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}.ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.app-shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:24px 14px 18px;display:flex;flex-direction:column;z-index:20}.side-brand{padding:2px 13px 26px}.side-brand img{width:150px;max-width:100%;display:block}.side-brand small{display:block;margin:7px 0 0 31px;color:#80908a;font-weight:700;letter-spacing:.12em;font-size:9px}.side-nav{display:flex;flex-direction:column;gap:5px}.nav{border:0;background:transparent;width:100%;height:44px;border-radius:11px;display:grid;grid-template-columns:24px 1fr 15px;align-items:center;gap:8px;text-align:left;padding:0 13px;color:#25342f;font-size:13px;cursor:pointer;transition:.18s}.nav:hover{background:#f3f7f5}.nav.active{background:linear-gradient(135deg,#0e513f,#097057);color:#fff;box-shadow:0 8px 20px rgba(15,77,62,.14)}.nav .chev{font-size:17px;text-align:right}.side-bottom{margin-top:auto;display:flex;flex-direction:column;gap:12px}.help-card{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fbfdfc}.help-card b{font-size:12px;color:var(--green)}.help-card p{font-size:10px;line-height:1.55;color:#5d6e68;margin:9px 0 12px}.help-btn,.attendance-link{display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;border:1px solid #b9d5ca;color:var(--green);border-radius:9px;padding:9px 10px;font-weight:700;font-size:11px;background:#fff}.attendance-link{border-color:transparent;background:#f1f6f4;justify-content:flex-start}.user-side{display:grid;grid-template-columns:36px 1fr 16px;align-items:center;gap:9px;padding:9px 3px}.user-side b,.user-chip b{display:block;font-size:11px}.user-side small,.user-chip small{display:block;font-size:9px;color:#85938e;margin-top:2px}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#0f4d3e,#0c7559);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.main{min-width:0;padding:0 34px 20px}.topbar{height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.top-title small{font-size:10px;color:#687771}.top-title h1{font-size:22px;margin:3px 0 0}.top-actions{display:flex;align-items:center;gap:12px}.global-search{width:min(370px,32vw);height:42px;background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 12px}.global-search input{border:0;outline:0;background:transparent;width:100%;font-size:11px}.icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;position:relative;color:#3c4c46;cursor:pointer}.icon-btn i{position:absolute;right:-2px;top:-4px;background:var(--orange);color:#fff;border-radius:10px;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-style:normal;display:flex;align-items:center;justify-content:center}.user-chip{min-width:180px;height:52px;padding:7px 12px;border:1px solid var(--line);background:#fff;border-radius:12px;display:grid;grid-template-columns:36px 1fr 16px;align-items:center;gap:9px}.view{display:none}.view.active{display:block}.welcome-row,.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:7px 0 22px}.welcome-row h2,.page-head h2{font-size:26px;margin:5px 0 5px;letter-spacing:-.025em}.welcome-row p,.page-head p{margin:0;color:var(--muted);font-size:12px}.eyebrow{font-size:9px;font-weight:800;letter-spacing:.13em;color:var(--green)}.btn{height:42px;border-radius:10px;border:1px solid var(--line);padding:0 16px;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.18s}.btn.primary{background:linear-gradient(135deg,#0f4d3e,#0c7459);border-color:transparent;color:#fff;box-shadow:0 7px 18px rgba(15,77,62,.14)}.btn.primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,77,62,.18)}.btn.secondary{background:#fff;color:#52615c}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;display:grid;grid-template-columns:48px 1fr;gap:13px;align-items:center;box-shadow:var(--shadow)}.metric-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center}.metric-icon .ico{width:23px;height:23px}.metric-icon.green{background:var(--green-soft);color:var(--green)}.metric-icon.orange{background:var(--orange-soft);color:var(--orange)}.metric-icon.blue{background:var(--blue-soft);color:var(--blue)}.metric-icon.purple{background:var(--purple-soft);color:var(--purple)}.metric-card small{display:block;color:#73817c;font-size:10px}.metric-card b{display:block;font-size:24px;margin-top:3px}.metric-card em{font-size:9px;color:#87948f;font-style:normal}.dashboard-grid{display:grid;grid-template-columns:1.1fr 1fr .95fr;gap:14px}.bottom-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:14px;margin-top:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.dashboard-grid .panel,.bottom-grid .panel{padding:18px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.panel-head h3,.section-subhead h3{font-size:14px;margin:0}.panel-head p,.section-subhead p{font-size:10px;color:var(--muted);margin:4px 0 0}.text-btn{border:0;background:transparent;color:var(--green);font-size:9px;font-weight:800;cursor:pointer}.recent-list{min-height:245px}.recent-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1ef}.recent-row:last-child{border-bottom:0}.file-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900}.file-icon.pdf{background:#fff0e9;color:#e95d1e}.file-icon.sheet{background:#ebf8f0;color:#1b9a52}.file-icon.doc{background:#edf4ff;color:#3679d8}.file-icon.other{background:#f0ebff;color:#7155c7}.recent-row b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-row small{display:block;font-size:9px;color:#89968f;margin-top:2px}.recent-row a{font-size:9px;color:var(--green);font-weight:800;text-decoration:none}.category-chart{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:14px;min-height:245px}.donut{width:138px;height:138px;border-radius:50%;position:relative;margin:auto}.donut:after{content:"";position:absolute;inset:27px;border-radius:50%;background:#fff}.donut-center{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-center b{font-size:23px}.donut-center small{font-size:8px;color:#7d8c86}.legend{display:flex;flex-direction:column;gap:8px}.legend-row{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:6px;font-size:9px}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-row span{color:#586862}.legend-row b{font-size:9px}.quick-actions{display:flex;flex-direction:column;gap:5px}.quick-actions button{border:0;background:#fff;border-radius:10px;display:grid;grid-template-columns:36px 1fr 18px;gap:9px;align-items:center;text-align:left;padding:8px;cursor:pointer}.quick-actions button:hover{background:#f7faf8}.quick-ico{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center}.quick-ico.green{background:var(--green-soft);color:var(--green)}.quick-ico.orange{background:var(--orange-soft);color:var(--orange)}.quick-ico.purple{background:var(--purple-soft);color:var(--purple)}.quick-ico.blue{background:var(--blue-soft);color:var(--blue)}.quick-actions b{display:block;font-size:10px}.quick-actions small{display:block;font-size:8px;color:#89968f;margin-top:2px}.quick-actions em{font-style:normal;color:#a1aaa6}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1ef}.list-row:last-child{border-bottom:0}.list-row b{font-size:10px}.list-row small{display:block;font-size:8px;color:#83918c;margin-top:2px}.badge,.status-pill{font-size:8px;border-radius:20px;padding:5px 8px;font-weight:800}.badge{background:var(--green-soft);color:var(--green)}.status-pill.success{background:#e9f8ef;color:#16864d}.status-pill.warning{background:#fff4df;color:#a16b10}.status-boxes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.status-box{border:1px solid var(--line);border-radius:11px;padding:13px}.status-box small{display:block;font-size:8px;color:#84928d}.status-box b{font-size:12px;display:block;margin-top:5px}.filter-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-template-columns:1fr 190px auto;gap:10px;box-shadow:var(--shadow)}.search-wide{height:44px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:8px;padding:0 12px}.search-wide input{border:0;outline:0;width:100%;font-size:11px}.filter-card select{height:44px;border:1px solid var(--line);border-radius:9px;padding:0 12px;background:#fff;font-size:11px;color:#33433d}.section-meta{height:50px;display:flex;align-items:center;justify-content:space-between;color:#778680;font-size:10px}.view-switch{display:flex;gap:5px}.view-switch button{width:30px;height:30px;border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer}.view-switch button.active{background:var(--green);color:#fff;border-color:var(--green)}.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.doc-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow);transition:.18s;min-width:0}.doc-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(24,60,49,.09)}.doc-top{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center}.doc-card .type{font-size:8px;color:var(--green);font-weight:800}.doc-card h3{font-size:13px;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-card p{font-size:9px;color:#76857f;line-height:1.5;min-height:40px}.doc-meta{font-size:8px;color:#87948f;line-height:1.5;padding:10px 0;border-top:1px solid #edf1ef}.doc-actions{display:flex;gap:7px;margin-top:9px}.doc-actions a,.doc-actions button{flex:1;height:34px;border-radius:8px;border:1px solid var(--line);background:#fff;color:#52615b;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}.doc-actions a.open{background:var(--green);color:#fff;border-color:var(--green)}.doc-grid.list-mode{grid-template-columns:1fr}.doc-grid.list-mode .doc-card{display:grid;grid-template-columns:1fr 250px auto;align-items:center;gap:14px}.doc-grid.list-mode .doc-card p{min-height:0;margin:0}.doc-grid.list-mode .doc-meta{border:0;padding:0}.doc-grid.list-mode .doc-actions{margin:0;width:190px}.upload-layout{display:grid;grid-template-columns:.75fr 1.4fr;gap:14px}.upload-drop-panel,.form-panel{padding:18px}.drop-zone{min-height:360px;border:1.5px dashed #cbdad4;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;background:#fbfdfc;transition:.18s}.drop-zone:hover{border-color:var(--green);background:#f6fbf8}.drop-icon{width:58px;height:58px;border-radius:50%;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.drop-icon .ico{width:27px;height:27px}.drop-zone b{font-size:13px}.drop-zone p{font-size:10px;color:#7b8984;margin:5px 0}.drop-zone small{font-size:8px;color:#9aa5a1}.selected-file{margin-top:12px;padding:12px;border-radius:10px;background:#f4f8f6;font-size:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label{font-size:9px;font-weight:700;color:#53635d}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 11px;color:#22312c;outline:0}.form-grid input,.form-grid select{height:40px}.form-grid textarea{padding-top:10px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#9fc7b8;box-shadow:0 0 0 3px rgba(15,77,62,.06)}.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.table-panel{overflow:hidden}.table{border-collapse:collapse;width:100%;font-size:10px}.table th{text-align:left;background:#fafcfb;color:#75847e;font-size:8px;letter-spacing:.03em;padding:12px;border-bottom:1px solid var(--line)}.table td{padding:13px 12px;border-bottom:1px solid #edf1ef}.package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.package-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;box-shadow:var(--shadow)}.package-card .pkg-icon{width:38px;height:38px;border-radius:10px;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center}.package-card h3{font-size:12px;margin:12px 0 3px}.package-card p{font-size:9px;color:#87948f;min-height:28px}.package-card .pkg-foot{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.section-divider{height:1px;background:var(--line);margin:22px 0}.section-subhead{margin-bottom:12px}.category-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.category-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;box-shadow:var(--shadow);cursor:pointer}.category-card:hover{border-color:#bcd5cc}.category-card .cat-ico{width:40px;height:40px;border-radius:11px;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center}.category-card b{font-size:11px}.category-card small{display:block;font-size:9px;color:#87948f;margin-top:3px}.empty-state{text-align:center;padding:50px 20px}.empty-icon{width:58px;height:58px;border-radius:50%;background:#f1f5f3;color:#8b9994;display:flex;align-items:center;justify-content:center;margin:0 auto 13px}.empty-state h3{font-size:14px}.empty-state p{font-size:10px;color:#7d8b86}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-card{padding:17px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center}.setting-icon{width:42px;height:42px;border-radius:11px;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center}.settings-card b{font-size:11px}.settings-card p{font-size:9px;color:#7d8b86;margin:4px 0 0}.footer{height:64px;display:flex;align-items:flex-end;justify-content:space-between;color:#9aa5a1;font-size:8px}.footer b{color:var(--green)}.modal{position:fixed;inset:0;background:rgba(13,31,25,.42);display:flex;align-items:center;justify-content:center;padding:20px;z-index:80}.modal-card{width:min(700px,95vw);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:22px;position:relative;box-shadow:0 25px 80px rgba(0,0,0,.18)}.modal-x{position:absolute;right:13px;top:12px;width:34px;height:34px;border-radius:50%;border:0;background:#f1f4f3;font-size:18px;cursor:pointer}.toast{position:fixed;right:25px;bottom:25px;background:#183c31;color:#fff;padding:12px 16px;border-radius:11px;box-shadow:0 15px 30px rgba(0,0,0,.16);z-index:100;font-size:10px;max-width:360px}.busy{position:fixed;inset:0;background:rgba(247,250,248,.76);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:90}.busy-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px;box-shadow:var(--shadow)}.busy-card b{display:block;font-size:11px}.busy-card small{display:block;font-size:9px;color:#7f8d88;margin-top:3px}.spinner{width:23px;height:23px;border:3px solid #d8e7e1;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.helper{font-size:9px;color:#71807b;line-height:1.5;margin-top:10px}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f7faf8}.login-card{width:min(420px,92vw);background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.login-logo{width:180px}.login-card h1{font-size:24px}.login-card p{font-size:11px;color:#7a8983}.login-card label{font-size:10px}.login-card input{width:100%;height:42px;border:1px solid var(--line);border-radius:9px;margin:6px 0 12px;padding:0 11px}.login-card .btn{width:100%}@media(max-width:1180px){.dashboard-grid{grid-template-columns:1fr 1fr}.quick-panel{grid-column:1/-1}.metric-grid{grid-template-columns:1fr 1fr}.doc-grid{grid-template-columns:1fr 1fr}.package-grid,.category-card-grid{grid-template-columns:1fr 1fr}.global-search{display:none}}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.side-nav{display:grid;grid-template-columns:1fr 1fr}.side-bottom{display:none}.main{padding:0 16px 18px}.topbar{height:auto;padding:16px 0}.top-title{display:none}.user-chip{min-width:0}.dashboard-grid,.bottom-grid,.upload-layout,.settings-grid{grid-template-columns:1fr}.doc-grid{grid-template-columns:1fr}.filter-card{grid-template-columns:1fr}.category-chart{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.welcome-row,.page-head{align-items:flex-start}.doc-grid.list-mode .doc-card{display:block}.doc-grid.list-mode .doc-actions{width:auto}.package-grid,.category-card-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.side-nav{grid-template-columns:1fr}.metric-grid,.package-grid,.category-card-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.top-actions{width:100%}.user-chip{width:100%}.welcome-row,.page-head{display:block}.welcome-row .btn,.page-head .btn{margin-top:12px}.main{padding:0 12px 16px}}

/* V1.6 Simple Upload */
.simple-upload-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.simple-upload-head b{font-size:13px}.simple-upload-head span{font-size:9px;color:var(--muted)}.simple-upload-grid{gap:12px}.simple-upload-grid label small{font-size:8px;color:#9aa6a1;font-weight:600;margin-left:4px}.advanced-upload{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.advanced-upload summary{cursor:pointer;list-style:none;font-size:10px;font-weight:800;color:var(--green);display:flex;align-items:center;gap:6px}.advanced-upload summary::-webkit-details-marker{display:none}.advanced-upload summary:after{content:'+';margin-left:auto;width:24px;height:24px;border-radius:7px;background:var(--green-soft);display:flex;align-items:center;justify-content:center;font-size:15px}.advanced-upload[open] summary:after{content:'−'}.advanced-upload summary span{font-size:8px;color:#93a09b;font-weight:600}.advanced-grid{margin-top:13px}.form-panel select[data-addable]{font-weight:650;color:#2a3b35}.form-panel select option[value="__ADD__"]{font-weight:800;color:#0f6b52}.upload-layout{grid-template-columns:.85fr 1.25fr}.drop-zone{min-height:310px}@media(max-width:850px){.simple-upload-head{display:block}.simple-upload-head span{display:block;margin-top:4px}}

.folder-route-preview{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px dashed #cfded8;border-radius:12px;background:#f7faf8;color:#496158}.folder-route-preview .ico{width:22px;height:22px;color:#0f6a53}.folder-route-preview small{display:block;font-size:10px;color:#81928c;margin-bottom:2px}.folder-route-preview b{font-size:11px;color:#203b33}.folder-result{display:inline-block;margin-top:6px;padding:6px 9px;border-radius:8px;background:#eef7f3;color:#0f6a53;font-size:10px;font-weight:700}

/* V1.8 organize + simplified information architecture */
.organize-btn{border-color:#d9e6e1!important;color:#0f4d3e!important;background:#f5faf8!important}.organize-btn:hover{background:#e9f5f0!important}.organize-note{font-size:11px;color:#72807b;line-height:1.55;margin:6px 0 14px}.current-path{padding:12px 14px;background:#f6f8f7;border:1px solid #e3e9e6;border-radius:10px;font-size:11px;color:#6e7c77;margin-bottom:14px}.current-path b{color:#20352e}.folder-route-preview{min-height:54px}.side-nav{gap:5px}


/* V1.9 Role-based Document Library */
.page-head-actions{display:flex;gap:8px;align-items:center}.library-section{margin:0 0 16px}.library-section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}.library-section-head h3{font-size:13px;margin:0}.library-section-head p,.library-section-head small{font-size:9px;color:#81908b;margin:3px 0 0}.library-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.library-category-grid.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.library-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px;text-align:left;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:9px;cursor:pointer;transition:.16s;min-width:0}.library-card:hover{border-color:#b8d2c8;transform:translateY(-1px);box-shadow:0 7px 20px rgba(20,54,43,.06)}.library-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;letter-spacing:.03em}.library-card-icon.green,.library-card-icon.emerald{background:#e8f5ef;color:#0f6a50}.library-card-icon.blue,.library-card-icon.navy{background:#eaf2fb;color:#2f67a3}.library-card-icon.teal{background:#e8f6f4;color:#26786f}.library-card-icon.amber{background:#fff4d8;color:#9a6c07}.library-card-icon.slate{background:#eef1f0;color:#596762}.library-card-icon.orange{background:#fff0e7;color:#d65b18}.library-card-icon.rose,.library-card-icon.red{background:#fdeced;color:#b43a42}.library-card-icon.violet,.library-card-icon.purple{background:#f1ecfb;color:#6c50aa}.library-card-icon.indigo{background:#eaeefa;color:#465f9f}.library-card-body{min-width:0}.library-card-body b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-card-body small{display:block;font-size:8px;color:#87958f;line-height:1.3;margin-top:2px}.library-card-side{text-align:right}.library-card-side strong{display:block;font-size:12px;color:#213b33}.library-card-side small{font-size:7px;color:#8b9893;white-space:nowrap}.library-card.is-compact{grid-template-columns:34px 1fr;min-height:66px}.library-card.is-compact .library-card-icon{width:34px;height:34px}.library-card.is-compact .library-card-side{display:none}.home-library{padding:14px;margin:14px 0}.access-mini{display:inline-block;margin-top:3px;color:#0f6a53;font-weight:700}.btn.secondary{background:#fff;color:#38564c;border:1px solid var(--line)}
@media(max-width:1200px){.library-category-grid,.library-category-grid.compact{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.library-category-grid,.library-category-grid.compact{grid-template-columns:repeat(2,1fr)}.page-head-actions{margin-top:10px}}@media(max-width:560px){.library-category-grid,.library-category-grid.compact{grid-template-columns:1fr}}


/* V1.10 - document format guide + architecture */
.docs-mini-guide{display:flex;gap:14px;align-items:flex-start;padding:15px 17px;margin-bottom:16px;border:1px solid #dce9e4;background:#f8fbfa;border-radius:14px}
.docs-mini-guide .guide-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#e7f3ee;color:#0f4d3e;display:grid;place-items:center}
.docs-mini-guide .guide-copy b{font-size:12px;color:#173b30}.docs-mini-guide .guide-copy p{font-size:10.5px;line-height:1.55;margin:5px 0;color:#51645d}.docs-mini-guide .guide-copy small{font-size:9.5px;line-height:1.5;color:#73837d}
.doc-stage-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:800;letter-spacing:.03em;background:#eef4f1;color:#31584b;margin-left:4px}.doc-stage-badge.final{background:#e8f5ec;color:#23703e}.doc-stage-badge.draft{background:#fff4e8;color:#a85b18}
@media(max-width:760px){.docs-mini-guide{padding:13px}.docs-mini-guide .guide-copy p{font-size:10px}}
/* ============================================================
   TOMAFOOD DOCS V1.11 - DRIVE STYLE EXPLORER
   ============================================================ */
.doc-type-side{padding:16px 14px 10px;border-top:1px solid #e8eeeb;margin-top:10px;overflow:auto;max-height:46vh}.doc-type-side>small{display:block;font-size:9px;font-weight:800;color:#8b9893;letter-spacing:.08em;margin:0 8px 9px}.doc-type-side button{width:100%;display:flex;align-items:center;gap:9px;border:0;background:transparent;border-radius:9px;padding:7px 9px;font-size:10px;color:#36443f;text-align:left;cursor:pointer;transition:.18s ease}.doc-type-side button:hover,.doc-type-side button.active{background:#eef8f3;color:#0f6c50}.doc-type-side .drive-folder-icon{width:20px;height:16px;flex:0 0 20px}.doc-type-side .drive-folder-icon svg{width:20px;height:16px}.drive-explorer{min-height:calc(100vh - 116px)}.explorer-head{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.explorer-main-head{min-width:0}.folder-breadcrumb{display:flex;align-items:center;gap:7px;min-height:28px;margin-bottom:6px;overflow:auto;white-space:nowrap}.folder-breadcrumb button{border:0;background:transparent;padding:4px 2px;color:#6f7d78;font-size:10px;cursor:pointer}.folder-breadcrumb button:hover{color:#0f6c50}.folder-breadcrumb button.current{font-weight:800;color:#24342e}.folder-breadcrumb span{color:#aab5b1}.explorer-title-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.explorer-title-row h2{font-size:24px;line-height:1.15;margin:0 0 5px;color:#13251f;letter-spacing:-.03em}.explorer-title-row p{font-size:10px;color:#74827d;margin:0}.explorer-actions{display:flex;gap:8px;flex-wrap:wrap}.explorer-actions .btn{min-height:38px;padding:0 14px}.explorer-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.explorer-stats>div{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;border:1px solid #e5ece9;background:#fff;border-radius:12px;padding:11px 12px;box-shadow:0 6px 18px rgba(18,55,42,.035)}.explorer-stats .stat-icon{grid-row:1/3;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:18px}.folder-stat{background:#ecf8f1}.doc-stat{background:#eef4ff;color:#3b82f6}.recent-stat{background:#f4efff;color:#7c3aed}.access-stat{background:#fff5dd;color:#d89a00}.explorer-stats small{font-size:8px;color:#899590;font-weight:700}.explorer-stats b{font-size:16px;color:#163229}.explorer-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:16px}.explorer-search{flex:1;min-width:200px;height:40px;background:#fff}.explorer-toolbar .icon-square{height:40px;width:40px;border:1px solid #dfe8e4;background:#fff;border-radius:10px;display:grid;place-items:center;color:#325b4c;cursor:pointer}.explorer-toolbar .icon-square .ico{width:17px;height:17px}.explorer-toolbar select{height:40px;border:1px solid #dfe8e4;background:#fff;border-radius:10px;padding:0 28px 0 11px;font-size:10px;color:#4d5d57}.file-preview-panel{position:sticky;top:84px;min-height:505px;border:1px solid #e2e9e6;border-radius:14px;background:#fff;padding:16px;box-shadow:0 10px 30px rgba(18,55,42,.05);transition:transform .25s ease,opacity .25s ease}.preview-close{position:absolute;right:10px;top:9px;width:28px;height:28px;border:0;background:transparent;font-size:21px;color:#798781;cursor:pointer}.preview-empty{height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#86928d}.preview-empty-icon{width:62px;height:62px;border-radius:16px;background:#f2f7f5;display:grid;place-items:center;font-size:27px;color:#7b8c85;margin-bottom:12px}.preview-empty h3{font-size:13px;margin:0 0 5px;color:#36453f}.preview-empty p{font-size:9px;line-height:1.6;margin:0;max-width:180px}.preview-title{display:flex;justify-content:space-between;gap:12px;padding:2px 28px 8px 0}.preview-title h3{font-size:13px;line-height:1.35;margin:0 0 4px}.preview-title small{font-size:9px;color:#899590}.preview-star{border:0;background:transparent;color:#f3b313;font-size:22px;cursor:pointer}.preview-file-hero{height:150px;border-radius:14px;background:#fafcfc;display:grid;place-items:center;margin:12px 0}.preview-file-hero .drive-file-icon{width:78px;height:86px}.preview-file-hero .drive-file-icon svg{width:78px;height:78px}.preview-actions{display:flex;gap:8px;margin-bottom:15px}.preview-actions .btn{flex:1;justify-content:center;text-decoration:none;min-height:35px}.preview-tabs{display:flex;gap:17px;border-bottom:1px solid #e9eeec;margin-bottom:13px}.preview-tabs button{border:0;background:transparent;padding:9px 2px;font-size:9px;color:#77857f}.preview-tabs button.active{color:#0f6c50;font-weight:800;border-bottom:2px solid #0f6c50}.preview-meta label{display:block;font-size:8px;font-weight:800;color:#51635c;margin:12px 0 3px}.preview-meta p{font-size:9px;line-height:1.55;color:#6f7d78;margin:0}.preview-meta .tag-row{display:flex;flex-wrap:wrap;gap:5px}.preview-meta .tag-row span{background:#f3f6f5;border-radius:999px;padding:4px 7px;font-size:8px;color:#60716a}.preview-meta .text-link{border:0;background:transparent;color:#0f7556;font-weight:800;font-size:9px;padding:13px 0 0;cursor:pointer}.explorer-content{transition:opacity .16s ease,transform .16s ease}.explorer-content.folder-enter{animation:folderEnter .28s cubic-bezier(.2,.8,.2,1)}@keyframes folderEnter{0%{opacity:.15;transform:translateX(10px)}100%{opacity:1;transform:translateX(0)}}.section-label{font-size:9px;font-weight:800;color:#71817b;letter-spacing:.08em;margin:8px 0 9px;display:flex;justify-content:space-between}.folder-section{margin-bottom:20px}.folder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.drive-folder-card{border:1px solid #e2e9e6;background:#fff;border-radius:11px;min-height:68px;padding:10px 12px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;box-shadow:0 4px 14px rgba(20,54,43,.025);animation:itemPop .32s both;animation-delay:var(--delay);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.drive-folder-card:hover{transform:translateY(-2px);border-color:#cbded6;box-shadow:0 9px 22px rgba(20,54,43,.07)}.drive-folder-icon{width:46px;height:36px;display:inline-grid;place-items:center;flex:0 0 46px}.drive-folder-icon svg{width:46px;height:36px}.folder-info{min-width:0;display:flex;flex-direction:column;gap:4px}.folder-info b{font-size:10px;color:#22342d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-info small{font-size:8px;color:#899690}.folder-more{margin-left:auto;font-size:17px;color:#66766f}.drive-doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.drive-doc-card{position:relative;border:1px solid #e2e9e6;background:#fff;border-radius:11px;min-height:91px;padding:11px;cursor:pointer;animation:itemPop .32s both;animation-delay:var(--delay);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.drive-doc-card:hover,.drive-doc-card.selected{transform:translateY(-2px);border-color:#bcd9cd;box-shadow:0 9px 22px rgba(20,54,43,.07)}.drive-doc-card.selected{background:#f8fcfa}.drive-doc-main{display:flex;gap:11px}.drive-file-icon{position:relative;width:42px;height:48px;flex:0 0 42px;display:grid;place-items:center}.drive-file-icon svg{width:42px;height:42px;display:block}.drive-file-icon em{position:absolute;bottom:1px;left:50%;transform:translateX(-50%);font-style:normal;font-size:5px;font-weight:900;color:#fff;letter-spacing:.02em}.drive-doc-copy{min-width:0;padding-top:2px}.drive-doc-copy b{font-size:10px;line-height:1.35;color:#1f302a;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px}.drive-doc-copy small{display:block;font-size:8px;color:#87948f;margin-bottom:4px}.drive-doc-copy span{display:block;font-size:8px;color:#9aa5a1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-kebab{position:absolute;right:8px;top:8px;border:0;background:transparent;color:#66766f;font-size:17px;cursor:pointer}.drive-empty{grid-column:1/-1;border:1px dashed #dfe8e4;border-radius:12px;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8a9691;text-align:center}.drive-empty>div{font-size:30px;margin-bottom:8px}.drive-empty b{font-size:11px;color:#53645d;margin-bottom:4px}.drive-empty span{font-size:9px}.drive-doc-grid.list-mode{grid-template-columns:1fr}.drive-doc-grid.list-mode .drive-doc-card{min-height:62px}.drive-doc-grid.list-mode .drive-file-icon{width:34px;height:36px;flex-basis:34px}.drive-doc-grid.list-mode .drive-file-icon svg{width:34px;height:34px}@keyframes itemPop{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:none}}@media(max-width:1180px){.explorer-head{grid-template-columns:1fr}.file-preview-panel{position:fixed;z-index:60;right:14px;top:80px;width:290px;max-height:calc(100vh - 95px);overflow:auto;transform:translateX(115%);opacity:0}.file-preview-panel.open{transform:none;opacity:1}.folder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.drive-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.doc-type-side{display:none}.explorer-title-row{align-items:flex-start;flex-direction:column}.explorer-stats{grid-template-columns:repeat(2,1fr)}.folder-grid,.drive-doc-grid{grid-template-columns:1fr}.explorer-toolbar{flex-wrap:wrap}.explorer-search{flex-basis:100%}}
/* V1.12 closer to Drive-style reference */
.drive-explorer{max-width:100%;min-height:calc(100vh - 92px)}
.explorer-head{display:block}.explorer-main-head{width:100%}.file-preview-panel{position:fixed;z-index:80;right:18px;top:76px;width:310px;max-height:calc(100vh - 94px);overflow:auto;min-height:0;transform:translateX(115%);opacity:0;pointer-events:none;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .2s ease}.file-preview-panel.open{transform:none;opacity:1;pointer-events:auto}.preview-empty{display:none!important}.explorer-title-row{margin-bottom:14px}.explorer-stats{grid-template-columns:repeat(4,minmax(0,190px));justify-content:start}.folder-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.drive-folder-card{min-height:74px;border-radius:12px;padding:13px 14px}.drive-folder-card .folder-arrow{margin-left:auto;color:#8b9893;font-size:22px;transition:transform .16s}.drive-folder-card:hover .folder-arrow{transform:translateX(3px);color:#0f6c50}.drive-folder-icon{width:50px;height:38px;flex-basis:50px}.drive-folder-icon svg{width:50px;height:38px}.folder-info b{font-size:11px}.folder-info small{font-size:8.5px}.drive-doc-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.drive-doc-card{min-height:96px;padding:12px 14px}.explorer-content{padding-bottom:30px}.folder-breadcrumb{margin-bottom:9px}.folder-breadcrumb button{font-size:10.5px}.explorer-title-row h2{font-size:25px}.explorer-toolbar{max-width:1000px}.doc-type-side button .drive-folder-icon{width:22px;height:17px;flex-basis:22px}.doc-type-side button .drive-folder-icon svg{width:22px;height:17px}@media(max-width:1100px){.folder-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.drive-doc-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:760px){.folder-grid,.drive-doc-grid{grid-template-columns:1fr}.explorer-stats{grid-template-columns:repeat(2,1fr)}.file-preview-panel{left:10px;right:10px;width:auto;top:70px}}
/* V1.13 hard refresh + folder-first explorer */
.explorer-head{display:block!important}.explorer-main-head{width:100%!important}.file-preview-panel{display:none!important}.file-preview-panel.open{display:block!important;position:fixed!important;right:18px!important;top:76px!important;width:310px!important;max-height:calc(100vh - 94px)!important;overflow:auto!important;z-index:80!important;opacity:1!important;transform:none!important;pointer-events:auto!important}.preview-empty{display:none!important}.folder-grid{grid-template-columns:repeat(4,minmax(190px,1fr))!important}.drive-folder-card.static-seed .drive-folder-icon{font-size:32px}.drive-folder-card.static-seed{min-height:78px}.explorer-content{width:100%!important}.document-section{margin-top:8px}@media(max-width:1100px){.folder-grid{grid-template-columns:repeat(3,minmax(190px,1fr))!important}}@media(max-width:760px){.folder-grid{grid-template-columns:1fr!important}}


/* V1.14 compact professional document cards */
.compact-doc-card{padding:18px!important;min-height:210px!important;border-radius:18px!important;display:flex!important;flex-direction:column!important;gap:14px!important}.compact-doc-card .doc-top{align-items:flex-start!important}.compact-doc-card .file-icon{width:48px!important;height:48px!important;border-radius:12px!important;flex:0 0 48px!important}.compact-doc-card h3{font-size:17px!important;line-height:1.25!important;margin:3px 0!important}.compact-doc-card .type{font-size:10px!important;letter-spacing:.04em!important}.compact-doc-card .doc-title-wrap small{font-size:10px;color:#82918b}.doc-meta-line,.doc-meta-foot{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:10px;color:#6f7f79}.doc-meta-foot{padding-top:10px;border-top:1px solid #edf1ef}.doc-meta-foot span{background:#f4f7f5;padding:5px 8px;border-radius:999px}.doc-actions-compact{margin-top:auto!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.doc-actions-compact button{height:38px!important;font-size:10px!important;border-radius:10px!important}.activity-filter{display:flex;gap:10px;align-items:end;margin:14px 0 16px;padding:14px}.activity-filter label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:700;color:#52635d}.activity-filter .grow{flex:1}.activity-filter input,.activity-filter select{height:40px;border:1px solid #dfe7e3;border-radius:10px;padding:0 10px;background:#fff}.activity-table-wrap{overflow:auto}.activity-table{width:100%;border-collapse:collapse;font-size:11px}.activity-table th{padding:12px;text-align:left;color:#71817b;font-size:9px;text-transform:uppercase;border-bottom:1px solid #e8eeeb}.activity-table td{padding:13px 12px;border-bottom:1px solid #edf1ef;vertical-align:top}.activity-table td small{display:block;color:#87958f;margin-top:3px}.event-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:800;background:#eef5f2;color:#0f6b53}.event-pill.download{background:#fff2e8;color:#d65b17}.analytics-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.analytics-kpis>div{background:#fff;border:1px solid #e3ebe7;border-radius:16px;padding:16px;box-shadow:0 6px 20px rgba(23,63,50,.04)}.analytics-kpis small,.analytics-kpis span{display:block;color:#7a8a84;font-size:10px}.analytics-kpis b{display:block;font-size:24px;color:#163f34;margin:6px 0}.analytics-kpis b.smaller{font-size:14px;line-height:1.3}.analytics-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.analytics-panels>div{background:#fff;border:1px solid #e3ebe7;border-radius:16px;padding:16px}.analytics-panels h3{margin:0 0 10px;font-size:13px}.rank-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1ef}.rank-row:last-child{border-bottom:0}.rank-row>span{width:24px;height:24px;border-radius:8px;background:#eef6f2;display:grid;place-items:center;font-size:10px;font-weight:800;color:#0f6b53}.rank-row b{font-size:11px}.rank-row small{display:block;color:#819089;font-size:9px;margin-top:2px}.rank-row strong{font-size:12px;color:#173f34}@media(max-width:900px){.analytics-kpis{grid-template-columns:1fr 1fr}.analytics-panels{grid-template-columns:1fr}.activity-filter{flex-wrap:wrap}.activity-filter .grow{flex-basis:100%}.doc-actions-compact{grid-template-columns:1fr 1fr!important}}

/* V1.15 compact document cards + analytics */
.doc-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))!important;gap:16px!important;align-items:stretch}
.compact-doc-card{min-width:0!important;overflow:hidden!important;padding:18px!important;border-radius:18px!important}
.compact-doc-card .doc-top{display:grid!important;grid-template-columns:58px minmax(0,1fr) auto!important;gap:14px!important;align-items:start!important}
.compact-doc-card .file-icon{width:58px!important;height:58px!important;border-radius:14px!important;flex:0 0 58px!important;font-size:12px!important}
.compact-doc-card .doc-title-wrap{min-width:0!important;overflow:hidden!important}
.compact-doc-card .doc-title-wrap .type{display:block!important;font-size:10px!important;font-weight:800!important;color:var(--green)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.compact-doc-card .doc-title-wrap h3{font-size:17px!important;line-height:1.28!important;margin:6px 0 5px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;overflow-wrap:anywhere!important;word-break:break-word!important;min-height:44px!important}
.compact-doc-card .doc-title-wrap small{display:block!important;font-size:10px!important;color:var(--muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.compact-doc-card .badge{white-space:nowrap!important;align-self:start!important}
.compact-doc-card .doc-meta-line{display:flex!important;gap:8px!important;align-items:center!important;min-width:0!important;margin:16px 0 10px!important;font-size:10px!important;color:#66756f!important;border-top:1px solid var(--line)!important;padding-top:13px!important}
.compact-doc-card .doc-meta-line span{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.compact-doc-card .doc-meta-line span:nth-child(2){flex:0 0 auto!important}
.compact-doc-card .doc-meta-foot{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin-bottom:14px!important}
.compact-doc-card .doc-meta-foot span{font-size:9px!important;background:#f2f6f4!important;border-radius:999px!important;padding:6px 9px!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.compact-doc-card .doc-actions-compact{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.compact-doc-card .doc-actions-compact button{min-width:0!important;width:100%!important;padding:0 8px!important;font-size:10px!important;white-space:nowrap!important}

.analytics-range{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.analytics-range label{font-size:9px;color:var(--muted);font-weight:700}.analytics-range input{display:block;margin-top:5px;height:36px;border:1px solid var(--line);border-radius:9px;padding:0 9px;background:#fff;font-size:10px;color:var(--ink)}
.analytics-range .btn{height:36px;padding:0 12px}
.analytics-kpis-v115{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.analytics-kpi-v115{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;min-width:0}.analytics-kpi-v115 small{display:block;font-size:9px;color:var(--muted)}.analytics-kpi-v115 b{display:block;font-size:22px;margin:5px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-kpi-v115 span{font-size:8px;color:#8a9893}.analytics-kpi-v115 .title-value{font-size:13px;line-height:1.3;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.analytics-dashboard-grid-v115{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}.analytics-box-v115{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;min-width:0}.analytics-box-v115 h4{font-size:11px;margin:0 0 12px}.daily-bars{display:flex;align-items:end;gap:7px;height:160px;padding-top:12px;overflow-x:auto}.daily-bar-col{min-width:34px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.daily-bar{width:22px;min-height:4px;background:linear-gradient(180deg,#0e775b,#0f4d3e);border-radius:6px 6px 2px 2px;transition:.2s}.daily-bar-col b{font-size:8px;margin-top:5px}.daily-bar-col small{font-size:7px;color:var(--muted);margin-top:2px;white-space:nowrap}.mini-rank{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #edf1ef}.mini-rank:last-child{border-bottom:0}.mini-rank>span:first-child{width:22px;height:22px;border-radius:7px;background:#f0f5f3;color:var(--green);font-size:8px;font-weight:900;display:flex;align-items:center;justify-content:center}.mini-rank b{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-rank small{display:block;font-size:7px;color:var(--muted);margin-top:2px}.mini-rank strong{font-size:10px}.download-type-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px 0;border-bottom:1px solid #edf1ef}.download-type-row:last-child{border-bottom:0}.download-type-row b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.download-type-row span{font-size:9px;font-weight:900;color:var(--green)}
@media(max-width:1200px){.analytics-kpis-v115{grid-template-columns:repeat(3,1fr)}.analytics-dashboard-grid-v115{grid-template-columns:1fr 1fr}.analytics-dashboard-grid-v115 .analytics-box-v115:first-child{grid-column:1/-1}}
@media(max-width:760px){.doc-grid{grid-template-columns:1fr!important}.compact-doc-card .doc-actions-compact{grid-template-columns:1fr 1fr!important}.analytics-kpis-v115{grid-template-columns:1fr 1fr}.analytics-dashboard-grid-v115{grid-template-columns:1fr}.analytics-dashboard-grid-v115 .analytics-box-v115:first-child{grid-column:auto}}


/* V1.16 infographic diagrams + explorer sync */
#docResults.is-refreshing{opacity:.45;pointer-events:none;transition:opacity .18s ease}.drive-doc-card{min-width:0}.drive-doc-copy{min-width:0}.drive-doc-copy b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;min-height:2.6em}.drive-doc-copy small,.drive-doc-copy span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}
.analytics-kpis-v116{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:12px;margin:12px 0 16px}.analytics-kpi-v116{border:1px solid #dfe8e3;border-radius:18px;padding:16px;background:#fff;min-width:0}.analytics-kpi-v116 small{display:block;color:#7b8983;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.analytics-kpi-v116 b{display:block;font-size:28px;color:#173c32;margin:6px 0 2px}.analytics-kpi-v116 span{color:#819089;font-size:12px}.diagram-grid-v116{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.diagram-card-v116{background:#fff;border:1px solid #dfe8e3;border-radius:20px;padding:18px;min-width:0;overflow:hidden}.diagram-card-v116.wide{grid-column:1/-1}.diagram-head h4{margin:0;color:#173c32;font-size:15px}.diagram-head p{margin:3px 0 14px;color:#87958f;font-size:12px}.bar-chart-v116{height:205px;display:flex;align-items:flex-end;gap:9px;border-bottom:1px solid #e8eeeb;padding:8px 4px 0;overflow-x:auto}.bar-item-v116{min-width:42px;text-align:center;display:flex;flex-direction:column;justify-content:flex-end;height:100%}.bar-item-v116>b{font-size:11px;color:#34584f;margin-bottom:4px}.bar-item-v116>div{height:152px;display:flex;align-items:flex-end;justify-content:center}.bar-item-v116>div span{display:block;width:22px;background:linear-gradient(180deg,#10a37f,#0f5d49);border-radius:7px 7px 2px 2px;box-shadow:0 5px 14px rgba(15,93,73,.16);animation:barGrow .45s ease both;transform-origin:bottom}.bar-item-v116 small{font-size:10px;color:#7d8b85;margin:6px 0 4px;white-space:nowrap}@keyframes barGrow{from{transform:scaleY(.05);opacity:.3}to{transform:scaleY(1);opacity:1}}.donut-wrap-v116{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}.donut-v116{width:145px;height:145px;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.03);animation:donutIn .5s ease}.donut-v116:after{content:"";position:absolute;width:88px;height:88px;background:#fff;border-radius:50%;box-shadow:0 0 0 1px #eef2f0}.donut-v116>div{z-index:1;text-align:center}.donut-v116 b{display:block;font-size:23px;color:#173c32}.donut-v116 small{color:#819089;font-size:10px}@keyframes donutIn{from{transform:scale(.82) rotate(-20deg);opacity:.2}to{transform:none;opacity:1}}.diagram-legend{min-width:0}.diagram-legend-row{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #f0f3f2;font-size:12px}.diagram-legend-row i{width:9px;height:9px;border-radius:3px}.diagram-legend-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#52665f}.diagram-legend-row b{color:#173c32}.diagram-empty{color:#89968f;font-size:12px}@media(max-width:1100px){.analytics-kpis-v116{grid-template-columns:repeat(3,1fr)}.donut-wrap-v116{grid-template-columns:120px 1fr}.donut-v116{width:115px;height:115px}.donut-v116:after{width:70px;height:70px}}@media(max-width:760px){.analytics-kpis-v116,.diagram-grid-v116{grid-template-columns:1fr}.diagram-card-v116.wide{grid-column:auto}.donut-wrap-v116{grid-template-columns:1fr}.donut-v116{margin:auto}}
\n/* V1.17 live-folder + richer detail + download history */\n.preview-activity{padding:12px 2px 20px}.preview-activity-row{display:flex;gap:10px;align-items:flex-start;padding:11px 2px;border-bottom:1px solid var(--line,#e5ece8)}.preview-activity-row b{display:block;font-size:13px}.preview-activity-row small{display:block;margin-top:3px;color:#7b8a84;font-size:11px}.activity-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;background:#94a3b8}.activity-dot.download{background:#0b7a5a}.activity-dot.open{background:#3b82f6}.activity-dot.detail{background:#8b5cf6}.preview-loading,.preview-empty-small{padding:24px 4px;text-align:center;color:#7b8a84;font-size:12px}\n.recent-downloads-box{margin-top:16px}.recent-download-table{overflow:hidden;border:1px solid #e4ebe7;border-radius:14px}.recent-download-head,.recent-download-row{display:grid;grid-template-columns:150px minmax(180px,.8fr) minmax(260px,1.4fr) minmax(180px,.9fr);gap:16px;align-items:center;padding:11px 14px}.recent-download-head{background:#f5f8f6;color:#66766f;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.recent-download-row{border-top:1px solid #edf1ef;font-size:12px}.recent-download-row>span{min-width:0}.recent-download-row b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#16382f}.recent-download-row small{display:block;margin-top:3px;color:#7b8a84;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:980px){.recent-download-head{display:none}.recent-download-row{grid-template-columns:1fr 1fr}.recent-download-row span:nth-child(3),.recent-download-row span:nth-child(4){grid-column:1/-1}}\n\n/* V1.18 live count + detail drawer polish */\n.drive-folder-card{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}\n.drive-folder-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,77,62,.08);border-color:#c9ddd5}\n.drive-doc-card{cursor:pointer;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}\n.drive-doc-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,77,62,.09);border-color:#bcd8cd}\n.drive-doc-card.selected{border-color:#0f6f59;box-shadow:0 0 0 2px rgba(15,111,89,.09),0 12px 30px rgba(15,77,62,.08)}\n.drive-doc-copy{min-width:0}\n.drive-doc-copy>b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;word-break:break-word}\n.drive-doc-copy small,.drive-doc-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n#filePreviewPanel{position:fixed;right:18px;top:82px;bottom:18px;width:min(360px,calc(100vw - 36px));z-index:80;transform:translateX(calc(100% + 28px));opacity:0;pointer-events:none;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .2s ease;box-shadow:0 24px 60px rgba(22,55,45,.16)}\n#filePreviewPanel.open{transform:translateX(0);opacity:1;pointer-events:auto}\n.preview-meta p{word-break:break-word}\n@media(max-width:900px){#filePreviewPanel{left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:72vh}}\n
/* =========================================================
   V1.19 — ATTENDANCE FORMAT ALIGNMENT
   Match TOMAFOOD Attendance visual scale and spacing.
   ========================================================= */
:root{
  --tf-green:#0f6b50;
  --tf-text:#14251e;
  --tf-muted:#7b8781;
  --tf-line:#e1e8e4;
  --tf-bg:#f7faf8;
  --tf-shadow:0 10px 28px rgba(18,55,43,.055);
}
body{background:var(--tf-bg)!important;color:var(--tf-text)!important;font-size:14px!important;line-height:1.5!important}
.app-shell{grid-template-columns:248px minmax(0,1fr)!important}
.sidebar{background:#fff!important;border-right:1px solid var(--tf-line)!important;padding:22px 16px!important}
.side-brand{padding:4px 6px 20px!important;border-bottom:1px solid #eef2ef!important;margin-bottom:16px!important}
.side-brand img{width:166px!important;max-height:56px!important;object-fit:contain!important;object-position:left center!important}
.side-brand small{margin:8px 0 0 30px!important;font-size:10px!important;letter-spacing:.13em!important;color:#7f8f88!important}
.side-nav{gap:4px!important}.nav{min-height:50px!important;height:auto!important;border-radius:12px!important;padding:9px 12px!important;font-size:13px!important;font-weight:700!important;gap:10px!important;color:#425049!important;grid-template-columns:30px 1fr 16px!important}
.nav:hover{background:#f4f8f6!important;color:var(--tf-green)!important}.nav.active{background:var(--tf-green)!important;color:#fff!important;box-shadow:0 8px 18px rgba(15,107,80,.16)!important}.nav .ico{width:20px!important;height:20px!important}.nav .chev{font-size:18px!important}
.doc-type-side{margin-top:18px!important;padding-top:16px!important;border-top:1px solid #eef2ef!important}.doc-type-side>small{font-size:10px!important;letter-spacing:.1em!important;font-weight:900!important}.doc-type-side button{min-height:34px!important;font-size:11px!important}
.attendance-link{min-height:42px!important;border-radius:10px!important;font-size:12px!important;padding:0 12px!important}.user-side{grid-template-columns:38px 1fr 16px!important;padding:10px 4px!important}.avatar{width:36px!important;height:36px!important}.user-side b{font-size:12px!important}.user-side small{font-size:10px!important}
.main{padding:0!important;min-width:0!important}.topbar{height:86px!important;min-height:86px!important;padding:0 30px!important;border-bottom:1px solid var(--tf-line)!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px)!important;gap:16px!important;position:sticky!important;top:0!important;z-index:35!important}
.top-title small{font-size:11px!important;color:var(--tf-muted)!important}.top-title h1{font-size:22px!important;line-height:1.1!important;letter-spacing:-.02em!important;margin:4px 0 0!important}.top-actions{gap:12px!important}.global-search{height:46px!important;width:min(500px,38vw)!important;border-radius:13px!important;background:#fafcfa!important;padding:0 14px!important}.global-search input{font-size:13px!important}.icon-btn{width:44px!important;height:44px!important;border-radius:11px!important}.user-chip{height:52px!important;min-width:190px!important;border-radius:12px!important;padding:7px 12px!important;grid-template-columns:36px 1fr 16px!important}.user-chip b{font-size:12px!important}.user-chip small{font-size:10px!important}
.view{padding:28px 32px 54px!important;max-width:1740px!important;margin:0 auto!important}.welcome-row,.page-head{margin:0 0 22px!important;gap:20px!important}.welcome-row h2,.page-head h2{font-size:30px!important;line-height:1.15!important;letter-spacing:-.035em!important;margin:5px 0 7px!important}.welcome-row p,.page-head p{font-size:13px!important;color:var(--tf-muted)!important;max-width:820px!important}.eyebrow{font-size:10px!important;letter-spacing:.11em!important;font-weight:900!important;color:var(--tf-green)!important}.btn{min-height:42px!important;height:42px!important;border-radius:10px!important;font-size:12px!important;padding:0 16px!important}
.metric-grid{gap:16px!important;margin-bottom:18px!important}.metric-card{min-height:138px!important;padding:20px!important;border-radius:18px!important;border:1px solid var(--tf-line)!important;box-shadow:var(--tf-shadow)!important;grid-template-columns:54px 1fr!important;gap:15px!important}.metric-icon{width:54px!important;height:54px!important;border-radius:15px!important}.metric-card small{font-size:11px!important;font-weight:700!important}.metric-card b{font-size:32px!important;letter-spacing:-.035em!important}.metric-card em{font-size:11px!important}
.panel{border:1px solid var(--tf-line)!important;border-radius:18px!important;box-shadow:var(--tf-shadow)!important}.dashboard-grid,.bottom-grid{gap:16px!important}.dashboard-grid .panel,.bottom-grid .panel{padding:20px!important}.panel-head h3,.section-subhead h3{font-size:15px!important}.panel-head p,.section-subhead p{font-size:11px!important}.text-btn{font-size:11px!important}
.home-library{padding:18px!important}.library-category-grid.compact{gap:12px!important}.library-category-card{min-height:86px!important;border-radius:14px!important;padding:14px!important}.library-category-card b{font-size:12px!important}.library-category-card small{font-size:10px!important;line-height:1.35!important}
/* Explorer spacing follows Attendance content proportions */
.explorer-main-head{gap:16px!important}.explorer-title h2{font-size:30px!important}.explorer-title p{font-size:12px!important}.explorer-stats{gap:14px!important}.explorer-stat{border-radius:16px!important;min-height:92px!important}.explorer-toolbar{gap:10px!important}.search-wide{height:46px!important;border-radius:11px!important}.search-wide input{font-size:12px!important}.folder-grid{gap:14px!important}.drive-folder-card{min-height:110px!important;border-radius:16px!important;padding:18px!important}.folder-info b{font-size:13px!important}.folder-info small{font-size:10px!important}.drive-doc-grid{gap:16px!important}.drive-doc-card{border-radius:18px!important;padding:20px!important}.drive-doc-copy>b{font-size:18px!important}.drive-doc-copy small,.drive-doc-copy span{font-size:11px!important}.drive-doc-card .doc-actions-compact button,.drive-doc-card .drive-doc-actions button{min-height:42px!important;font-size:11px!important}
@media(max-width:1200px){.app-shell{grid-template-columns:220px minmax(0,1fr)!important}.view{padding:24px!important}.topbar{padding:0 20px!important}.global-search{width:min(420px,38vw)!important}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr!important}.sidebar{display:none!important}.view{padding:18px!important}.topbar{height:72px!important;min-height:72px!important;padding:0 18px!important}.global-search{display:none!important}.top-title h1{font-size:18px!important}.user-chip{min-width:150px!important}.welcome-row h2,.page-head h2{font-size:26px!important}.metric-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:560px){.metric-grid{grid-template-columns:1fr!important}.user-chip{display:none!important}.topbar{justify-content:space-between!important}.view{padding:16px!important}.welcome-row,.page-head{align-items:flex-start!important;flex-direction:column!important}}

/* =========================================================
   V1.20 — EXACT ATTENDANCE SHELL ALIGNMENT
   Use the same visual scale as TOMAFOOD Attendance V8.80.
   ========================================================= */
.app-shell{grid-template-columns:218px minmax(0,1fr)!important}
.sidebar{height:100vh!important;position:sticky!important;top:0!important;background:#fff!important;border-right:1px solid #E2E8E4!important;padding:20px 14px 14px!important;display:flex!important;flex-direction:column!important;z-index:40!important;overflow:hidden!important}
.side-brand{padding:3px 8px 17px!important;border-bottom:1px solid #EFF2F0!important;margin:0!important}
.side-brand img{width:155px!important;max-height:52px!important;object-fit:contain!important;object-position:left!important;display:block!important}
.side-brand small{display:block!important;margin:5px 0 0 31px!important;font-size:7px!important;letter-spacing:.18em!important;color:#7F8A84!important;font-weight:800!important}
.side-nav{display:grid!important;gap:4px!important;margin-top:14px!important;visibility:visible!important;opacity:1!important;background:transparent!important;border:0!important;padding:0!important;min-height:0!important}
.side-nav .nav{display:grid!important;visibility:visible!important;opacity:1!important;width:100%!important;height:42px!important;min-height:42px!important;border:0!important;background:transparent!important;border-radius:9px!important;padding:0 9px!important;grid-template-columns:28px 1fr auto!important;align-items:center!important;gap:7px!important;text-align:left!important;color:#3F4C45!important;font-size:10px!important;font-weight:600!important;box-shadow:none!important}
.side-nav .nav:hover{background:#F5F8F6!important;color:#345347!important}
.side-nav .nav.active{background:linear-gradient(90deg,#0C674B,#075B43)!important;color:#fff!important;box-shadow:0 7px 17px rgba(9,96,70,.13)!important}
.side-nav .nav .ico{width:27px!important;height:27px!important;border-radius:7px!important;display:grid!important;place-items:center!important}
.side-nav .nav .ico svg{width:17px!important;height:17px!important}
.side-nav .nav .chev{font-size:14px!important;width:12px!important;color:inherit!important}
.doc-type-side{margin-top:16px!important;padding-top:12px!important;border-top:1px solid #EFF2F0!important;min-height:0!important;overflow:auto!important;max-height:34vh!important;scrollbar-width:thin!important}
.doc-type-side>small{font-size:7px!important;letter-spacing:.13em!important;font-weight:800!important;color:#82908A!important;padding:0 8px!important}
.doc-type-side button{min-height:32px!important;height:32px!important;font-size:8px!important;border-radius:7px!important;padding:0 8px!important}
.side-bottom{margin-top:auto!important;display:flex!important;flex-direction:column!important;gap:8px!important;background:#fff!important;padding-top:8px!important}
.attendance-link{height:40px!important;min-height:40px!important;border:0!important;background:#F1F6F4!important;border-radius:9px!important;padding:0 9px!important;font-size:9px!important;font-weight:700!important;justify-content:flex-start!important}
.user-side{margin-top:4px!important;border:1px solid #E2E8E4!important;border-radius:11px!important;padding:9px!important;display:grid!important;grid-template-columns:32px 1fr auto!important;gap:8px!important;align-items:center!important}
.user-side .avatar{width:32px!important;height:32px!important;font-size:11px!important}.user-side b{font-size:8px!important}.user-side small{font-size:6.5px!important}.side-copyright{font-size:6px!important;color:#9BA39F!important;padding:4px 4px 0!important}.side-copyright span{color:#B0B6B3!important}
.main{min-width:0!important;padding:0!important}
.topbar.attendance-topbar{height:76px!important;min-height:76px!important;display:grid!important;grid-template-columns:34px 210px minmax(320px,1fr) 190px 44px 176px!important;gap:12px!important;align-items:center!important;padding:0 22px!important;border-bottom:1px solid #E3E9E6!important;background:#fff!important;box-shadow:0 2px 12px rgba(22,56,43,.025)!important;position:sticky!important;top:0!important;z-index:35!important}
.menu-btn{width:34px!important;height:34px!important;border:0!important;border-radius:9px!important;background:transparent!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:4px!important;padding:0!important}.menu-btn:hover{background:#F5F8F6!important}.menu-btn span{display:block!important;width:18px!important;height:1.7px!important;background:#263C33!important;border-radius:99px!important}
.hello{min-width:0!important;overflow:hidden!important}.hello h1{font-size:16px!important;line-height:1.15!important;margin:0!important;font-weight:800!important;letter-spacing:-.025em!important;color:#14221B!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.hello p{font-size:10px!important;line-height:1.2!important;margin:5px 0 0!important;color:#7B8781!important;font-weight:500!important;white-space:nowrap!important}
.searchbox{height:42px!important;border-radius:11px!important;padding:0 10px 0 12px!important;gap:9px!important;background:#FBFCFB!important;border:1px solid #DEE6E2!important;display:flex!important;align-items:center!important;min-width:0!important}.searchbox:focus-within{border-color:#A9C7BA!important;background:#fff!important;box-shadow:0 0 0 3px rgba(15,77,62,.05)!important}.searchbox .ico{width:17px!important;height:17px!important;color:#64756D!important;flex:0 0 auto!important}.searchbox input{border:0!important;outline:0!important;min-width:0!important;flex:1!important;font-size:11px!important;color:#26352E!important;background:transparent!important}.searchbox input::placeholder{color:#909B96!important}.searchbox kbd{font:inherit!important;font-size:8px!important;padding:5px 7px!important;border:1px solid #E2E7E4!important;border-radius:7px!important;color:#7D8882!important;background:#fff!important;white-space:nowrap!important}
.datebox{min-width:0!important;height:48px!important;border-radius:11px!important;padding:6px 10px!important;gap:9px!important;background:#fff!important;border:1px solid #E0E7E3!important;display:flex!important;align-items:center!important}.date-icon{width:32px!important;height:32px!important;border-radius:9px!important;background:#F1F6F3!important;display:grid!important;place-items:center!important;flex:0 0 auto!important}.date-icon svg{width:17px!important;height:17px!important;stroke:#30483E!important;stroke-width:1.7!important;fill:none!important}.datebox b{font-size:10px!important;line-height:1.2!important;color:#17251E!important;font-weight:800!important;display:block!important}.datebox small{font-size:8px!important;line-height:1!important;margin-top:3px!important;color:#7C8982!important;display:block!important}
.notification-wrap{display:flex!important;justify-content:center!important;align-items:center!important}.bell{position:relative!important;width:42px!important;height:42px!important;border-radius:11px!important;background:#fff!important;border:1px solid #E0E7E3!important;display:grid!important;place-items:center!important}.bell:hover{background:#F8FAF9!important}.bell .ico{width:19px!important;height:19px!important;color:#263A31!important}.bell i{position:absolute!important;width:18px!important;height:18px!important;right:-4px!important;top:-7px!important;border-radius:50%!important;background:#F21F24!important;color:#fff!important;font-style:normal!important;font-size:8px!important;font-weight:800!important;display:grid!important;place-items:center!important}
.top-profile{min-width:0!important;height:48px!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:34px 1fr auto!important;gap:8px!important;align-items:center!important;padding:6px 9px!important;border:1px solid #E0E7E3!important;border-radius:11px!important;background:#fff!important}.top-profile .avatar{width:34px!important;height:34px!important;font-size:11px!important}.top-profile b{font-size:10px!important;line-height:1.1!important;white-space:nowrap!important}.top-profile small{font-size:8px!important;line-height:1.15!important;margin-top:3px!important;white-space:nowrap!important;color:#7B8781!important}.top-profile>span{font-size:11px!important;color:#4D5B54!important}
.view{padding:18px 24px 42px!important;max-width:none!important;margin:0!important}
.welcome-row,.page-head{margin:0 0 18px!important}.welcome-row h2,.page-head h2{font-size:24px!important;line-height:1.15!important;margin:4px 0 5px!important}.welcome-row p,.page-head p{font-size:10px!important}.eyebrow{font-size:8px!important}.btn{height:38px!important;min-height:38px!important;font-size:9px!important;border-radius:8px!important;padding:0 13px!important}
.metric-grid{gap:10px!important;margin-bottom:14px!important}.metric-card{min-height:112px!important;padding:14px!important;border-radius:13px!important;grid-template-columns:46px 1fr!important;gap:10px!important}.metric-icon{width:46px!important;height:46px!important;border-radius:12px!important}.metric-card small{font-size:8px!important}.metric-card b{font-size:24px!important}.metric-card em{font-size:7px!important}
.panel{border-radius:13px!important}.dashboard-grid,.bottom-grid{gap:10px!important}.dashboard-grid .panel,.bottom-grid .panel{padding:14px!important}.panel-head h3,.section-subhead h3{font-size:11px!important}.panel-head p,.section-subhead p{font-size:8px!important}.text-btn{font-size:8px!important}
.library-category-grid.compact{gap:8px!important}.library-category-card{min-height:68px!important;border-radius:10px!important;padding:10px!important}.library-category-card b{font-size:9px!important}.library-category-card small{font-size:7px!important}
@media(max-width:1320px){.topbar.attendance-topbar{grid-template-columns:34px 180px minmax(260px,1fr) 165px 42px 150px!important;padding:0 16px!important;gap:10px!important}.hello h1{font-size:15px!important}.hello p{font-size:9px!important}.datebox b{font-size:9px!important}.top-profile small{font-size:7.5px!important}}
@media(max-width:1120px){.topbar.attendance-topbar{grid-template-columns:34px 190px minmax(260px,1fr) 42px!important}.datebox,.top-profile{display:none!important}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr!important}.sidebar{display:none!important}.topbar.attendance-topbar{height:68px!important;min-height:68px!important;grid-template-columns:34px 1fr 42px!important;padding:0 14px!important}.searchbox,.datebox,.top-profile{display:none!important}.view{padding:14px!important}}

/* =========================================================
   V1.21 — ATTENDANCE SHELL ALIGNMENT + SIDEBAR OVERLAP FIX
   ========================================================= */
:root{--att-sidebar:218px;--att-topbar:76px}
html,body{overflow-x:hidden}
.app-shell{grid-template-columns:var(--att-sidebar) minmax(0,1fr)!important;min-height:100vh!important}
.sidebar{height:100vh!important;position:sticky!important;top:0!important;padding:20px 14px 14px!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;background:#fff!important;border-right:1px solid #E2E8E4!important}
.side-brand{padding:3px 8px 17px!important;border-bottom:1px solid #EFF2F0!important;margin:0!important;flex:0 0 auto!important}
.side-brand img{width:155px!important;height:auto!important;max-height:52px!important;object-fit:contain!important;object-position:left center!important}
.side-brand small{display:block!important;margin:5px 0 0!important;font-size:8px!important;line-height:1.2!important;letter-spacing:.18em!important;color:#7F8A84!important;font-weight:800!important}
.side-nav{display:grid!important;gap:4px!important;margin-top:14px!important;flex:0 0 auto!important}
.side-nav .nav{height:42px!important;min-height:42px!important;border-radius:9px!important;padding:0 9px!important;grid-template-columns:28px 1fr auto!important;gap:7px!important;font-size:9px!important;font-weight:600!important;color:#3F4C45!important}
.side-nav .nav .ico{width:27px!important;height:27px!important;border-radius:7px!important}.side-nav .nav .ico svg{width:17px!important;height:17px!important}
.side-nav .nav.active{background:linear-gradient(90deg,#0C674B,#075B43)!important;box-shadow:0 7px 17px rgba(9,96,70,.13)!important}

/* document type list occupies only remaining sidebar space — no overlap */
.doc-type-side{margin-top:14px!important;padding:12px 0 0!important;border-top:1px solid #EFF2F0!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;position:relative!important;z-index:1!important;scrollbar-width:thin!important}
.doc-type-side>small{display:block!important;padding:0 8px 7px!important;font-size:7px!important;line-height:1!important;letter-spacing:.13em!important;font-weight:800!important;color:#82908A!important}
#docTypeSide{display:grid!important;gap:1px!important}
.doc-type-side button{display:grid!important;grid-template-columns:22px 1fr!important;align-items:center!important;gap:8px!important;width:100%!important;height:30px!important;min-height:30px!important;padding:0 8px!important;border-radius:7px!important;border:0!important;background:transparent!important;text-align:left!important;font-size:8px!important;line-height:1.1!important;color:#55645D!important;white-space:nowrap!important;overflow:hidden!important}
.doc-type-side button:hover{background:#F5F8F6!important}.doc-type-side button span:last-child{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.doc-type-side button .drive-folder-icon,.doc-type-side button .drive-folder-icon svg{width:22px!important;height:17px!important;flex-basis:22px!important}
.side-bottom{flex:0 0 auto!important;margin-top:10px!important;gap:8px!important;position:relative!important;z-index:3!important;background:#fff!important;padding-top:4px!important}
.attendance-link{height:38px!important;border-radius:9px!important;padding:0 9px!important;font-size:8px!important}
.user-side{border:1px solid #E2E8E4!important;border-radius:11px!important;padding:9px!important;grid-template-columns:32px 1fr auto!important;gap:8px!important;background:#fff!important}
.user-side .avatar{width:32px!important;height:32px!important;font-size:11px!important}.user-side b{font-size:8px!important}.user-side small{font-size:6.5px!important}.side-copyright{font-size:6px!important;padding:4px 4px 0!important}

.main{padding:0!important;min-width:0!important;background:#F7FAF8!important}
.topbar.attendance-topbar{height:var(--att-topbar)!important;min-height:var(--att-topbar)!important;grid-template-columns:34px 232px minmax(300px,1fr) 190px 44px 205px!important;gap:12px!important;padding:0 22px!important;border-bottom:1px solid #E3E9E6!important;background:#fff!important;box-shadow:0 2px 12px rgba(22,56,43,.025)!important;position:sticky!important;top:0!important;z-index:35!important}
.hello{min-width:0!important;overflow:hidden!important}.hello h1{font-size:14px!important;line-height:1.15!important;margin:0!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.hello p{font-size:9px!important;margin:5px 0 0!important;white-space:nowrap!important}
.searchbox{height:42px!important;border-radius:11px!important}.datebox{height:48px!important}.top-profile{height:48px!important;min-width:0!important;grid-template-columns:34px minmax(0,1fr) auto!important;gap:8px!important;padding:6px 9px!important}.top-profile>div:nth-child(2){min-width:0!important}.top-profile b{display:block!important;font-size:9px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.top-profile small{display:block!important;font-size:7px!important;line-height:1.15!important;margin-top:3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.top-profile .avatar{width:34px!important;height:34px!important}
.view{padding:18px 24px 35px!important;max-width:none!important;margin:0!important}
.welcome-row,.page-head{margin-top:0!important}.welcome-row h2,.page-head h2{font-size:24px!important}.welcome-row p,.page-head p{font-size:11px!important}
.metric-grid{gap:12px!important}.metric-card{border-radius:14px!important;padding:15px!important;min-height:105px!important}.metric-card b{font-size:22px!important}
.dashboard-grid,.bottom-grid{gap:12px!important}.panel{border-radius:14px!important}

@media(max-width:1380px){.topbar.attendance-topbar{grid-template-columns:34px 200px minmax(250px,1fr) 170px 42px 180px!important;padding:0 16px!important;gap:10px!important}.hello h1{font-size:13px!important}.top-profile b{font-size:8.5px!important}.top-profile small{font-size:6.8px!important}}
@media(max-width:1120px){.topbar.attendance-topbar{grid-template-columns:34px 200px minmax(260px,1fr) 42px!important}.datebox,.top-profile{display:none!important}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr!important}.sidebar{display:none!important}.topbar.attendance-topbar{height:68px!important;min-height:68px!important;grid-template-columns:34px 1fr 42px!important;padding:0 14px!important}.searchbox,.datebox,.top-profile{display:none!important}.view{padding:14px!important}}
