/* Welcome and private library. One definition per component. */
#welcome{position:fixed;inset:0;display:block;overflow:auto;box-sizing:border-box;padding:16px 32px 48px;background:var(--chrome)}
.wl{width:min(1120px,100%);margin:0 auto;display:flex;flex-direction:column;gap:24px}
.office-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px}
.office-eyebrow{font-size:16px;line-height:24px;font-weight:600;letter-spacing:normal;color:var(--ui-ink)}
.office-top-right,#officeAccount{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex-wrap:wrap;font-size:13px}
#officeUser{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lic-line{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--ui-ink2)}
.lic-dot{width:6px;height:6px;background:#8e8e93;border-radius:50%;flex:none}
.lic-line.ok .lic-dot{background:#248a3d}.lic-line.soon .lic-dot{background:#a85b00}
.lic-line .btn{font-size:12px;min-height:28px;border-color:transparent;background:transparent;padding:4px 6px;color:var(--ui-ink2)}
#licLineText{display:none}
.office-local{margin:0;order:0}
.office-local-title{font-size:12px;line-height:18px;font-weight:500;color:var(--ui-ink2);margin-bottom:12px}
.wl-btns{display:flex;gap:12px;flex-wrap:wrap}
.wl-btns .btn{flex:0 1 248px;display:block;text-align:left;padding:14px 16px;min-height:72px;border-radius:10px;background:#fff;font-size:14px;font-weight:600}
.wl-btns .btn small{display:block;font-size:12px;line-height:18px;font-weight:400;margin-top:4px;color:var(--ui-ink2);white-space:normal}
.wl-btns .btn.primary{background:#fff;border-color:var(--chrome-line);color:var(--ui-ink)}
.wl-btns .btn:hover{border-color:#aaaab2;background:#fafafa}
#wResume{border-color:var(--accent);background:#f7faff}
.wl-drop{font-size:12px;line-height:18px;color:var(--ui-ink2);margin:10px 0 0}
.wl-warn{background:#fff3df;color:#8a4b00;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.6;margin:12px 0 0}
.office-cloud{padding:24px;background:#fff;border:1px solid var(--chrome-line);border-radius:12px;margin:0;box-shadow:none}
.office-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.office-section-head h2{margin:0;font:600 28px/36px var(--ui);letter-spacing:normal}
.office-section-head p{margin:4px 0 0;font-size:12px;line-height:18px;color:var(--ui-ink2)}
.office-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.office-library-controls{display:flex;gap:16px;align-items:center;margin-top:24px}
.office-library-controls input,.office-library-controls select,.office-library-dialog input,.office-library-dialog select{font:13px/18px var(--ui);color:var(--ui-ink);background:#fff;border:1px solid var(--chrome-line);border-radius:8px;padding:7px 10px;box-sizing:border-box;min-width:0;min-height:32px}
#officeSearch{flex:1;width:100%;background:#f1f1f4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236e6e73' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='8.6' cy='8.6' r='5.1'/%3E%3Cpath d='m12.4 12.4 4.3 4.3'/%3E%3C/svg%3E") 10px 50%/16px no-repeat;padding-left:34px;border-color:transparent}
#officeSearch::placeholder{color:var(--ui-ink2)}
#officeSearch:focus{background-color:#fff;border-color:var(--accent)}
.office-sort-label{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--ui-ink2);white-space:nowrap}
#officeBreadcrumb{display:flex;align-items:center;gap:8px;margin-top:20px;font-size:13px;line-height:20px;min-width:0;flex-wrap:wrap;overflow-wrap:anywhere}
#officeBreadcrumb>span[aria-hidden]{color:var(--ui-ink2)}
.office-crumb{border:0;padding:2px 0;min-height:24px;background:transparent;color:var(--action);font:inherit;cursor:pointer;text-align:left}
#officeLibrarySummary{margin:4px 0 0;font-size:12px;color:var(--ui-ink2)}
#officeMessage{font-size:13px;line-height:20px;color:var(--ui-ink2);margin:12px 0 0}
#officeMessage:empty{display:none}#officeMessage.error{color:#d70015}
#officeFiles{margin-top:20px}
.office-folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.office-folder{display:flex;align-items:center;position:relative;min-width:0;border:1px solid var(--chrome-line);border-radius:8px;background:#fafafa}
.office-folder:hover{background:#f0f5fc;border-color:#a9c7ed}
.office-folder-icon{width:30px;height:26px;margin-left:16px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 26'%3E%3Cpath d='M2 5a3 3 0 0 1 3-3h7l3 3h12a3 3 0 0 1 3 3v14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2z' fill='%236caee7'/%3E%3Cpath d='M2 10a2 2 0 0 1 2-2h24a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2z' fill='%2396cbf4'/%3E%3C/svg%3E") center/contain no-repeat}
.office-folder-open{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;padding:14px 10px 14px 12px;border:0;border-radius:8px;background:transparent;color:var(--ui-ink);font:inherit;text-align:left;cursor:pointer}
.office-folder-open strong{max-width:100%;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.office-folder-open small{max-width:100%;font-size:12px;line-height:18px;color:var(--ui-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.office-folder-actions{padding-right:8px;flex:none}
.office-list-label{margin:0;padding:0 0 8px;font-size:12px;color:var(--ui-ink2)}
.office-row{display:flex;align-items:center;gap:12px;min-height:68px;box-sizing:border-box;padding:10px 8px;margin:0 -8px;border-top:1px solid #e9e9ed;border-radius:0;cursor:pointer;background:transparent;transition:background-color .15s}
.office-row:hover{background:#f5f7fa}
.office-open{flex:1;min-width:0;display:block;padding:2px 0;text-align:left;background:transparent;border:0;font:inherit;cursor:pointer;color:var(--ui-ink)}
.office-open strong{display:block;font-size:14px;font-weight:600;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.office-open small{display:block;color:var(--ui-ink2);font-size:12px;line-height:18px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.office-row-actions{display:flex;gap:6px;align-items:center;flex:none}
.office-file-icon{display:inline-block;flex:none;width:32px;height:40px;font-size:0;color:transparent;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 48'%3E%3Cpath d='M7 1.5h19.5l10 10V44a2.5 2.5 0 0 1-2.5 2.5H7A2.5 2.5 0 0 1 4.5 44V4A2.5 2.5 0 0 1 7 1.5z' fill='%23fff' stroke='%23b6b6bf'/%3E%3Cpath d='M26.5 1.5V9a2.5 2.5 0 0 0 2.5 2.5h7.5' fill='%23f2f2f7' stroke='%23b6b6bf'/%3E%3Crect x='10' y='18' width='20' height='13' rx='1.5' fill='%230066cc'/%3E%3Cpath d='M13.5 23h10M13.5 27h6' stroke='%23fff' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M10 37h20M10 41h13' stroke='%23c7c7cc' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat}
.office-more-wrap{position:relative}
.btn.office-more{display:grid;place-items:center;width:32px;height:32px;min-height:32px;padding:0;border-color:transparent;border-radius:6px;background:transparent;font-size:18px;color:var(--ui-ink2)}
.btn.office-more:hover,.office-more-wrap.open .btn.office-more{background:#eaeaef;color:var(--ui-ink)}
.office-menu{position:fixed;z-index:85;display:flex;flex-direction:column;min-width:164px}
.office-menu .btn{text-align:left;background:transparent;white-space:nowrap}
.office-menu .btn.danger{color:#d70015}
.office-menu .btn.danger:hover{background:#d70015;color:#fff}
.office-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;text-align:center;min-height:160px;padding:24px;color:var(--ui-ink2);font-size:13px;line-height:20px}
.office-empty p{margin:0;max-width:440px}
.office-empty-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
#officeUsage{margin:16px 0 0;font-size:12px;line-height:18px;color:var(--ui-ink2)}
.office-skeleton{display:flex;align-items:center;gap:12px;height:68px;border-top:1px solid #e9e9ed}
.office-skeleton::before{content:"";width:32px;height:40px;border-radius:4px;background:#ececf0}
.office-skeleton::after{content:"";width:55%;height:24px;border-radius:4px;background:#f0f0f3}
.office-loading-label{font-size:13px;color:var(--ui-ink2);margin:12px 0}
.office-opening{background:#f0f5ff}.office-opening .office-open small{color:var(--action)}
.office-library-dialog{width:440px;max-width:100%}
.office-library-dialog label{display:block;font-size:12px;color:var(--ui-ink2);margin-bottom:8px}
.office-library-dialog input,.office-library-dialog select{width:100%}
.office-library-dialog p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.office-form-error{font-size:13px;color:#d70015;margin:12px 0}
.office-form-error:empty{display:none}
.office-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:24px}
@media(max-width:900px){.office-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.office-top-right{gap:4px}}
@media(max-width:600px){#welcome{padding:12px 16px 32px}.wl{gap:20px}.office-top{align-items:flex-start;gap:8px}.office-eyebrow{padding-top:12px;white-space:nowrap}.office-top-right{justify-content:flex-end;gap:0;max-width:78%}#officeAccount{gap:6px;font-size:12px}#officeUser{max-width:100px}#officeAccount .btn{font-size:12px;min-height:44px}.lic-line{order:2}.lic-line .btn{min-height:44px}.wl-btns{display:grid;grid-template-columns:1fr;gap:10px}.wl-btns .btn{padding:12px 14px;min-height:64px}.office-cloud{padding:16px;border-radius:10px}.office-section-head{flex-wrap:wrap;gap:16px}.office-section-head h2{font-size:24px;line-height:30px}.office-actions{width:100%;flex-wrap:wrap;gap:8px}.office-actions .btn{min-height:44px;font-size:12px;flex:1;padding:6px 8px}.office-library-controls{flex-wrap:wrap;gap:10px;margin-top:20px}#officeSearch{flex-basis:100%;font-size:16px;min-height:44px}.office-sort-label{margin-left:auto}.office-sort-label select{min-height:44px;font-size:14px}.office-folder-grid{grid-template-columns:1fr;gap:10px}.office-folder-open{min-height:72px}.office-folder-open strong,.office-open strong{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.office-more,.btn.office-more{width:44px;height:44px;min-height:44px}.office-row{gap:10px;min-height:80px}.office-open small{white-space:normal;line-height:18px}.office-empty{padding:24px 8px}.office-library-dialog input,.office-library-dialog select{font-size:16px;min-height:44px}#officeBreadcrumb{font-size:12px;gap:6px}.office-crumb{min-height:44px}#officeUsage{line-height:20px}}
@media(hover:none){.office-more,.btn.office-more{width:44px;height:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.office-row,.office-folder{transition:none}}
