.import-page[data-v-2315fcba]{max-width:560px}.import-card[data-v-2315fcba]{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000f;padding:32px}.drop-zone[data-v-2315fcba]{border:2px dashed #ddd;border-radius:10px;padding:56px 32px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.drop-zone[data-v-2315fcba]:hover:not(.disabled),.drop-zone.dragging[data-v-2315fcba]{border-color:#cba6f7;background:#faf8ff}.drop-zone.disabled[data-v-2315fcba]{cursor:default}.drop-icon[data-v-2315fcba]{font-size:32px;margin-bottom:12px;color:#aaa}.success-icon[data-v-2315fcba]{color:#1e8449}.error-icon[data-v-2315fcba]{color:#c0392b}.drop-label[data-v-2315fcba]{font-size:15px;font-weight:600;color:#333;margin-bottom:6px}.drop-hint[data-v-2315fcba]{font-size:12px;color:#999}.error-text[data-v-2315fcba]{color:#c0392b}.spinner[data-v-2315fcba]{width:32px;height:32px;border:3px solid #eee;border-top-color:#cba6f7;border-radius:50%;animation:spin-2315fcba .7s linear infinite;margin:0 auto 12px}@keyframes spin-2315fcba{to{transform:rotate(360deg)}}.reset-wrap[data-v-2315fcba]{display:flex;justify-content:center;margin-top:20px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,sans-serif;font-size:14px;background:#f5f5f5;color:#222}a{color:inherit;text-decoration:none}.layout{display:flex;min-height:100vh}.sidebar{width:180px;background:#1e1e2e;color:#cdd6f4;padding:24px 0;flex-shrink:0}.sidebar .brand{font-size:16px;font-weight:700;padding:0 20px 24px;color:#cba6f7}.sidebar nav a{display:block;padding:10px 20px;color:#cdd6f4;transition:background .15s}.sidebar nav a:hover,.sidebar nav a.active{background:#313244;color:#cba6f7}.sidebar .logout{margin-top:auto;padding:10px 20px;cursor:pointer;color:#f38ba8}.main{flex:1;padding:28px 32px;overflow-y:auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-header h1{font-size:20px;font-weight:600}button{cursor:pointer;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500}.btn-primary{background:#cba6f7;color:#1e1e2e}.btn-primary:hover{background:#b895e0}.btn-danger{background:#f38ba8;color:#1e1e2e}.btn-danger:hover{background:#da7a96}.btn-ghost{background:transparent;color:#888;border:1px solid #ddd}.btn-ghost:hover{background:#eee}.btn-sm{padding:4px 10px;font-size:12px}.table-wrap{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px 14px;background:#f0f0f0;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:#555}td{padding:10px 14px;border-top:1px solid #f0f0f0;vertical-align:middle}tr:hover td{background:#fafafa}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border-radius:12px;padding:28px;width:480px;max-width:95vw;box-shadow:0 8px 32px #00000029}.modal h2{font-size:16px;margin-bottom:18px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:12px;font-weight:600;color:#555;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#cba6f7}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.check-row{display:flex;align-items:center;gap:8px}.check-row input[type=checkbox]{width:auto}.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600}.badge-high{background:#fde8e8;color:#c0392b}.badge-medium{background:#fef9e7;color:#d4ac0d}.badge-low,.badge-done{background:#eafaf1;color:#1e8449}.badge-open{background:#eef2ff;color:#5469d4}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-box{background:#fff;border-radius:14px;padding:40px;width:340px;box-shadow:0 4px 24px #0000001a}.login-box h1{font-size:22px;margin-bottom:24px;text-align:center}.login-box .error{color:#e74c3c;font-size:12px;margin-top:8px}.empty{text-align:center;color:#aaa;padding:40px}.sub-table{background:#fafafa}.sub-table td{padding:6px 14px;font-size:12px}
